作为ASP.NET MVC3项目的一部分,我们实现了一些自定义验证。在特定实体上,例如UniqueMandatoryCode,我们有[必需]和我们的[CustomValidationDataAnnotation]。
他们都工作但我想知道在验证的执行顺序方面发生了什么。我遇到的问题是我们的CustomValidation代码在[Required]验证之前被命中。当我们传递空值时会出现问题。
所以问题是,如何控制验证顺序,即首先完成[Required]验证,然后再进行[CustomValidationDataAnnotation]验证。
答案 0 :(得分:0)
我猜验证订单无法轻易控制。 常见的技术是忽略所有其他验证器中的空/未指定的情况(忽略=您将其视为有效)。无论如何,如果值必须处理该情况,您将添加必需的验证器。如果值是可选的,为什么要在空/未指定的值上应用自定义验证规则?