使用MVC4我需要從自定義ValidationAttribute
中檢索當前ModelMetadata
。原因是驗證屬性需要知道哪些其他屬性被附加到正在驗證的特定屬性。從驗證屬性中檢索模型元數據
在具體它檢查是否有一個UppercaseAttribute
附屬於它;如果是這種情況,那麼它將執行不同的邏輯路徑。如果有可能從ValidationAttribute
內搶ModelMetadata
,我將使用下面的代碼來檢查它:
ModelMetadata.ContainerType
.GetProperty(ViewData.ModelMetadata.PropertyName)
.GetCustomAttributes(typeof(UppercaseAttribute), true)
首先,是有可能從一個自定義ValidationAttribute
內檢索ModelMetadata
。其次,上述代碼是檢查屬性是否具有特定屬性的最佳實踐。
您是否僅需要此特定型號的驗證屬性?如果是這樣的話,你可以發佈你的模型嗎? – ataravati