【发布时间】:2018-07-13 16:51:25
【问题描述】:
我正在使用Fluent Validation 编写自定义验证,以检查属性的当前值是否包含任何值列表,如下所示:
IRuleBuilderOptions<T, TProperty> IsOfValue<T, TProperty> rule, params TProperty[] validOptions)
{
return rule
.Must(validOptions.Contains)
.WithMessage("Custom Error")
}
我的问题是...如何更改 Must(validOptions.Contains) 以便当值是字符串类型时,忽略大小写?
对于不使用列表的变体,我可以轻松地执行此操作,但无法弄清楚此处使用的逻辑。
我知道我需要使用StringComparer.IgnoreOrdinalCase 或StringComparison.IgnoreOrdinalCase,具体取决于。
【问题讨论】:
-
该方法的完整签名是什么?
-
@Xiaoy312 很抱歉,但我不明白你所说的“签名”是什么意思
-
是你粘贴的第一行代码;不完整。
-
@Xiaoy312 该代码中唯一省略的是将
validOptions列表设置为错误消息字符串的行。否则,那是/是完整的代码。
标签: c# fluentvalidation ignore-case