如果文本包含HTML,则验证失败

时间:2019-01-26 04:49:27

标签: c# html fluentvalidation

使用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/>

,我想通过验证

是否有一种创建正则表达式(或其他fluentValidation方法)的方法,如果字段包含html,该表达式将失败?

1 个答案:

答案 0 :(得分:1)

您有一些选择。

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

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