首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在ASP.NET核心中实现自定义模型验证?

如何在ASP.NET核心中实现自定义模型验证?
EN

Stack Overflow用户
提问于 2016-07-12 23:07:57
回答 1查看 20.8K关注 0票数 34

在以前的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依赖。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-07-12 23:17:12

有两种方法可以在ASP.NET核心中进行自定义模型验证:

  • ValidationAttribute派生的自定义属性。当您希望将自定义业务逻辑应用于具有attribute.
  • Implementing IValidatableObject的特定模型属性以进行类级验证时,这很有用。当您需要一次对整个模型进行验证时,请使用此选项。

documentation提供了这两种方法的示例。在您的例子中,IValidatableObject可能是最好的方法。

票数 35
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38332712

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档