如果文本包含 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,该语句将失败?

你有几个选择。

  1. 使用When or Unless.
  2. 将您的正则表达式更改为 match a non match
  3. 传入 lambda。

    RuleFor(x => x.CodeDescription) .Must(x=> !Regex.IsMatch(x, ValidatorUtility.Contains_Html_Regex));