在以前的ASP.NET MVC版本中,向模型添加自定义验证的方法是实现IValidatableObject
和实现您自己的Validate()
方法。举个例子:
public class BestModelEver : IValidatableObject {
public DateTime? Birthday { get; set; }
public IEnumerable<ValidationResult> Validate(ValidationContext validationContext) {
if (Birthday.HasValue) {
yield return new ValidationResult("Error message goes here");
}
}
}
这仍然是向ASP.NET核心中的模型添加自定义验证的推荐方式吗?使用IValidatableObject
需要System.ComponentModel.DataAnnotations
依赖。
发布于 2016-07-12 23:17:12
有两种方法可以在ASP.NET核心中进行自定义模型验证:
ValidationAttribute
派生的自定义属性。当您希望将自定义业务逻辑应用于具有attribute.IValidatableObject
的特定模型属性以进行类级验证时,这很有用。当您需要一次对整个模型进行验证时,请使用此选项。documentation提供了这两种方法的示例。在您的例子中,IValidatableObject
可能是最好的方法。
https://stackoverflow.com/questions/38332712
复制相似问题