在我的 ViewModels 中,我使用多个 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 注释组合到自定义电子邮件注释中,但这只是一个示例)。