如何解决正则表达式验证器中的管道
我正在尝试使用内置的验证器来检查属性值是否在特定的一组值中。除非我在某处缺少东西,否则没有内置属性,因此我选择了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 举报,一经查实,本站将立刻删除。