同一字段上的多个验证器万无一失

2024-06-23

我目前使用万无一失的验证:

[RequiredIfNot("type", 3, ErrorMessage = "Please enter at least one value")]
public int[] audites { get; set; }

但客户希望添加验证:

[RequiredIfNot("type", 3, ErrorMessage = "Please enter at least one value")]
[RequiredIfNot("nature", 1, ErrorMessage = "Please enter at least one value")]
[RequiredIfNot("nature", 3, ErrorMessage = "Please enter at least one value")]
public int[] audites { get; set; }

但它编译器不同意这一点,那么 In 如何将两者结合起来呢?

提前致谢!


The Foolproof.RequiredIfNotAttribute源自于Foolproof.ModelAwareValidationAttribute(这反过来又源自System.ComponentModel.DataAnnotation.ValidationAttribute). ModelAwareValidationAttribute标有[AttributeUsage(AttributeTargets.Property)]. 参考源码 http://foolproof.codeplex.com/SourceControl/latest#Foolproof/Base%20Classes/ModelAwareValidationAttribute.cs。默认情况下AllowMultiple的参数AttributeUsage is false这意味着您只能将该属性应用于属性一次。您已尝试应用 3 次,因此出现错误。

拥有它true并且允许多次应用可能会导致设置问题$.validator.methods and $.validator.unobtrusive.adapters不引人注目的验证使用的函数。

您将需要使用一些其他验证属性或创建自己的验证属性ValidationAtribute实现IClientValidatable,或者依赖服务器端验证。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

同一字段上的多个验证器万无一失 的相关文章

随机推荐