【发布时间】:2014-04-14 09:45:55
【问题描述】:
我有一个名为 Transaction 的类,其中包含一个名为 source 的属性
在Transaction 类中,我使用FluentValidation 进行了一些验证,我目前正在尝试使用regex 验证源属性,但是我遇到了问题
//source isnt required but when present must be 1 character 'X' or 'Y'
RuleFor(transaction => transacion.source)
.Matches("^(X|Y)?$")
.When(Transaction => transaction.source != null);
我得到:
错误 1
FluentValidation.IRuleBuilderInitial<MyUtility.Transaction,char?>不包含“匹配”的定义和最佳扩展 方法重载FluentValidation.DefaultValidatorExtensions.Matches<T>(FluentValidation.IRuleBuilder<T,string>, System.Text.RegularExpressions.Regex)有一些无效参数
我刚刚对不同的属性使用了完全相同的代码,没有任何问题,尽管那是一个字符串而不是一个字符。
【问题讨论】:
-
不要认为这是你的问题,但仅供参考
(X|Y)是[XY](搜索速度更快,可能更容易阅读)
标签: c# .net regex fluentvalidation