问题描述
我正在尝试使用内置的验证器来检查属性值是否在特定的一组值中。除非我在某处缺少东西,否则没有内置属性,因此我选择了RegularExpressionAttribute
:
public class Foo {
[RegularExpression(@"^A|B|AB$")]
public string Code { get; set; }
}
我想允许A
,B
和AB
作为可能的值。
如果我对其进行了验证,则A
和B
通过,但AB
失败。
Validator.TryValidateObject(foo,new ValidationContext(foo,null,null),validationResults,validateallProperties: true);
如果我更改正则表达式,将AB
放在首位,那么它将成功:
[RegularExpression(@"^AB|A|B$")]
我用第一种方法做错了吗?还是这仅仅是验证者的奇怪行为?当我尝试使用另一个RegEx验证器(包括.NET RegEx.IsMatch函数)时,这似乎是正确的匹配。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)