数据注释的正则表达式不适用于空字符串

时间:2018-09-26 11:43:54

标签: c# asp.net-mvc data-annotations

我试图验证从数据注释模型创建的对象中的字符串属性。该验证逻辑包含用于检查字符串是否为空或空白的正则表达式。仅当使用多个空格(“ _________”)进行字符串验证时,验证才会失败,而如果属性没有空格(即空字符串(“”)),验证不会失败。

带注释的数据模型,

class Company
{
  [RegularExpression(@".*\S+.*$", ErrorMessage = "Website is empty")]
  [JsonProperty(PropertyName = "website")]
  public string Website { get; set; }
}

要求验证

Company company = new Company(){
     Website = ""
};
var validationResults = new List<ValidationResult>();
var context = new ValidationContext(company, serviceProvider: null, items: null);
Validator.TryValidateObject(company, context, validationResults, true);

validationResults无法捕获验证错误。

0 个答案:

没有答案