如果文本包含 HTML,则验证失败
Fail validation if text contains HTML
使用 FluentValidation 我有一个如下所示的规则:
RuleFor(x => x.CodeDescription).Matches(ValidatorUtility.Contains_Html_Regex)
.WithMessage(EpisodeCodeDescription_Contains_HTML.ErrorMessage());
我的ValidatorUtility.Contains_Html_Regex
=<[a-z][\s\S]*>
仅当描述不包含 HTML(即所有内容)时才会失败。
我想反其道而行之。如果描述包含简单的 html <html></b><asdf/>
等
,我想验证失败
有没有办法创建一个 regex 语句(或其他一些 fluentValidation 方法),如果字段包含 html,该语句将失败?
你有几个选择。
- 使用
When
or Unless
.
- 将您的正则表达式更改为 match a non match。
传入 lambda。
RuleFor(x => x.CodeDescription)
.Must(x=> !Regex.IsMatch(x, ValidatorUtility.Contains_Html_Regex));
使用 FluentValidation 我有一个如下所示的规则:
RuleFor(x => x.CodeDescription).Matches(ValidatorUtility.Contains_Html_Regex)
.WithMessage(EpisodeCodeDescription_Contains_HTML.ErrorMessage());
我的ValidatorUtility.Contains_Html_Regex
=<[a-z][\s\S]*>
仅当描述不包含 HTML(即所有内容)时才会失败。
我想反其道而行之。如果描述包含简单的 html <html></b><asdf/>
等
有没有办法创建一个 regex 语句(或其他一些 fluentValidation 方法),如果字段包含 html,该语句将失败?
你有几个选择。
- 使用
When
orUnless
. - 将您的正则表达式更改为 match a non match。
传入 lambda。
RuleFor(x => x.CodeDescription) .Must(x=> !Regex.IsMatch(x, ValidatorUtility.Contains_Html_Regex));