gpt4 book ai didi

asp.net-mvc - 有没有办法在第一次失败后停止数据注释验证?

转载 作者:行者123 更新时间:2023-12-02 00:41:49 25 4
gpt4 key购买 nike

在我的 ViewModel 中,我使用多个 DataAnnotations 来验证表单数据,每个字段通常有 2-3 个注释。

例如,电子邮件地址的字段可能如下所示:

[Required(ErrorMessage = "Please enter an email address.")]
[Email(ErrorMessage = "That is not a valid email address.")] // Custom
public string Email { get; set; }

现在,如果有人提交表单,这两个错误都会显示在验证摘要中。是否有任何简单的方法可以指定运行验证注释的顺序,以便如果必需验证失败,则电子邮件验证不会运行?

如果这是不可能的,这通常如何处理?我应该为具有多个注释的任何字段创建自定义验证器吗?这是否是使用注释的正确方法,其中单个处理多种类型的验证?

(我也知道我可以将 Required 注释合并到自定义电子邮件中,但这只是一个示例)。

最佳答案

在这种特定情况下,我可能会采用 ASP.NET WebForms 验证器采用的相同方法 - 只需使用 EmailAttribute验证器返回 true如果值为 null或空。

想想看:

  • 如果需要邮箱地址,那么还会有[Required]验证器和空/空电子邮件地址无论如何都会产生验证错误;
  • 如果电子邮件地址是可选的,则应将空值视为有效值。

  • 无需解决拦截验证器的复杂问题,您只需将各个验证器设计成一起玩就好了!

    关于asp.net-mvc - 有没有办法在第一次失败后停止数据注释验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2301481/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com