【问题标题】:Fail validation if text contains HTML如果文本包含 HTML,则验证失败
【发布时间】:2019-01-26 04:49:26
【问题描述】:

使用 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/> 等,我想验证失败

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

【问题讨论】:

  • 请告诉我们Contains_Html_Regex的值。
  • @mjwills My ValidatorUtility.Contains_Html_Regex value is <[a-z][\s\S]*>

标签: c# html fluentvalidation


【解决方案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));

【讨论】:

  • 完美!谢谢!
猜你喜欢
  • 1970-01-01
  • 2013-12-09
  • 1970-01-01
  • 1970-01-01
  • 2020-08-03
  • 1970-01-01
  • 2020-02-13
  • 1970-01-01
  • 2012-02-19
相关资源
最近更新 更多