<bdo id='CZqkW'></bdo><ul id='CZqkW'></ul>

  1. <small id='CZqkW'></small><noframes id='CZqkW'>

  2. <legend id='CZqkW'><style id='CZqkW'><dir id='CZqkW'><q id='CZqkW'></q></dir></style></legend>
    <tfoot id='CZqkW'></tfoot>
      <i id='CZqkW'><tr id='CZqkW'><dt id='CZqkW'><q id='CZqkW'><span id='CZqkW'><b id='CZqkW'><form id='CZqkW'><ins id='CZqkW'></ins><ul id='CZqkW'></ul><sub id='CZqkW'></sub></form><legend id='CZqkW'></legend><bdo id='CZqkW'><pre id='CZqkW'><center id='CZqkW'></center></pre></bdo></b><th id='CZqkW'></th></span></q></dt></tr></i><div id='CZqkW'><tfoot id='CZqkW'></tfoot><dl id='CZqkW'><fieldset id='CZqkW'></fieldset></dl></div>
    1. 如何在 ASP.NET Core 中实现自定义模型验证?

      How do I implement custom model validation in ASP.NET Core?(如何在 ASP.NET Core 中实现自定义模型验证?)

        1. <legend id='eB94U'><style id='eB94U'><dir id='eB94U'><q id='eB94U'></q></dir></style></legend>
            • <bdo id='eB94U'></bdo><ul id='eB94U'></ul>

                <tbody id='eB94U'></tbody>
              <tfoot id='eB94U'></tfoot>
            • <small id='eB94U'></small><noframes id='eB94U'>

              <i id='eB94U'><tr id='eB94U'><dt id='eB94U'><q id='eB94U'><span id='eB94U'><b id='eB94U'><form id='eB94U'><ins id='eB94U'></ins><ul id='eB94U'></ul><sub id='eB94U'></sub></form><legend id='eB94U'></legend><bdo id='eB94U'><pre id='eB94U'><center id='eB94U'></center></pre></bdo></b><th id='eB94U'></th></span></q></dt></tr></i><div id='eB94U'><tfoot id='eB94U'></tfoot><dl id='eB94U'><fieldset id='eB94U'></fieldset></dl></div>

                本文介绍了如何在 ASP.NET Core 中实现自定义模型验证?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                问题描述

                在以前版本的 ASP.NET MVC 中,向模型添加自定义验证的方法是实现 IValidatableObject 并实现自己的 Validate() 方法.举个例子:

                In previous versions of ASP.NET MVC the way to add custom validation to your model was by implementing the IValidatableObject and implementing your own Validate() method. As an example:

                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 Core 中的模型添加自定义验证的推荐方法吗?使用 IValidatableObject 会产生 System.ComponentModel.DataAnnotations 依赖.

                Is this still the recommended way of adding custom validation to a model in ASP.NET Core? Using IValidatableObject takes on a System.ComponentModel.DataAnnotations dependency.

                推荐答案

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

                There are two ways to do custom model validation in ASP.NET Core:

                • ValidationAttribute 子类化的自定义属性.当您想将自定义业务逻辑应用到具有属性的特定模型property 时,这很有用.
                • 实施 IValidatableObject 以进行类级验证.当您需要一次对整个模型进行验证时,请使用此选项.
                • A custom attribute subclassed from ValidationAttribute. This is useful when you want to apply custom business logic to a particular model property with an attribute.
                • Implementing IValidatableObject for class-level validation. Use this instead when you need to do validation on an entire model at once.

                文档 两者都有例子.在您的情况下,IValidatableObject 可能是最好的方法.

                The documentation has examples of both. In your case, IValidatableObject would probably be the best approach.

                这篇关于如何在 ASP.NET Core 中实现自定义模型验证?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!

                相关文档推荐

                Adding DbContextOptions in Startup.cs not registering data store(在 Startup.cs 中添加 DbContextOptions 未注册数据存储)
                Migrate html helpers to ASP.NET Core(将 html 帮助程序迁移到 ASP.NET Core)
                Conditional validation in MVC.NET Core (RequiredIf)(MVC.NET Core 中的条件验证(RequiredIf))
                Is it possible to serve static files from outside the wwwroot folder?(是否可以从 wwwroot 文件夹外部提供静态文件?)
                Working with multiple resultset in .net core(在 .net 核心中使用多个结果集)
                Where all types for http headers gone in ASP.NET 5?(ASP.NET 5 中所有类型的 http 标头都去了哪里?)

                  <bdo id='AFVFC'></bdo><ul id='AFVFC'></ul>
                  <tfoot id='AFVFC'></tfoot>
                  <legend id='AFVFC'><style id='AFVFC'><dir id='AFVFC'><q id='AFVFC'></q></dir></style></legend>

                • <i id='AFVFC'><tr id='AFVFC'><dt id='AFVFC'><q id='AFVFC'><span id='AFVFC'><b id='AFVFC'><form id='AFVFC'><ins id='AFVFC'></ins><ul id='AFVFC'></ul><sub id='AFVFC'></sub></form><legend id='AFVFC'></legend><bdo id='AFVFC'><pre id='AFVFC'><center id='AFVFC'></center></pre></bdo></b><th id='AFVFC'></th></span></q></dt></tr></i><div id='AFVFC'><tfoot id='AFVFC'></tfoot><dl id='AFVFC'><fieldset id='AFVFC'></fieldset></dl></div>

                  <small id='AFVFC'></small><noframes id='AFVFC'>

                      <tbody id='AFVFC'></tbody>