我創建了一個MVC 3應用程序,需要基於外部數據(例如Required,MinimumLength,MaximumLength)在運行時建立數據驗證規則。在MVC 3中使用數據註釋似乎很自然,但提供驗證元數據的屬性屬性是在編譯時設置的。ASP.Net MVC3,DataAnnotations和動態驗證
是否有一種模式將數據註釋與運行時提供的元數據一起使用?
例子:
public string Text { get; set; }
public void SetIsRequired(string propertyName, bool required)
{
// Somehow find the property 'propertyName' and create/remove a RequiredAttribute
// on that property
}
...
SetIsRequired("Text", true);
我所知道的TypeDescriptor,但沒有看到一個選項修改實例的屬性的屬性(實例上唯一的類級屬性,或者屬性級別屬性一種)。
有趣的選擇。 FluentValidation.NET能否與Entity Framework Code First一起使用? –
@EricJ。,是的,它適用於任何型號。只需安裝'FluentValidation.MVC3' NuGet,在FALSE_Start:'FluentValidationModelValidatorProvider.Configure();'中註冊流利的驗證模型驗證器提供程序,然後您就可以爲模型定義驗證器。 –
酷! FluentValidation.Net是否會生成屬性以提供DataAnnotations提供的相同客戶端驗證? – Buzzer