获得一个具有数据注释验证器属性的模型。一个典型的例子是:
[RegularExpression("^[a-z]{5,}$", ErrorMessage="required field, must have correct format")]
public string SomeProperty {get;set; }
我需要使这些验证器有条件:如果模型中的特定属性具有特定值,则应禁用大多数验证器。 - 在服务器端和客户端上。 ( (我正在使用标准 Ms Ajax 客户端验证)
没有使数据注释验证器成为有条件的默认方法,因此我寻找了一些实现新型数据注释验证器的库。 查看了 Foolproof.codeplex.com 和RequiredIf 验证属性。 但我发现我要么无法正确实现它们,要么它们的实现太简单(foolProof 只能让您检查单个条件)
对我来说最好的解决方案是我可以为验证器提供 2 个参数:条件表达式和验证器。可能看起来像这样:
[RequiredIf("OtherProperty == true", RegularExpression=@"^[a-z]{5,}$", ErrorMessage="required field, must have correct format")]
public string SomeProperty {get;set; }
您还有其他推荐的库,或者我可以尝试的其他类型的解决方案吗?
最佳答案
看起来您想使用 RegularExpressionIf来自万无一失的验证器。
关于asp.net - asp.net 中的条件正则表达式验证器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16391721/