我有这是我的VM:
[Display(Name = "Reason for Cancellation")]
[Required]
[StringLength(245)] // 245 characters to allow for History Type prefix to be added
public string CancelJustificationComments { get; set; }
我注意到,如果值是一个空格列表,那么上面的验证将被忽略——这显然是它的编码方式。
我如何添加进一步的验证来修剪所有空格?请确保存在"合法"值?
感谢
一个简单的方法是使用RegularExpressionAttribute
[Display(Name = "Reason for Cancellation")]
[Required]
[RegularExpression(@"w")]
[StringLength(245)] // 245 characters to allow for History Type prefix to be added
public string CancelJustificationComments { get; set; }
此属性通常用于强制输入格式,Regex以^
开头,以$
结尾,以便检查完整字符串。
使用w
正则表达式,您不检查字符串的开始或结束方式,只说您至少需要一个"单词字符"([a-zA-Z0-9]
(
[Required]
数据注释具有可选参数AllowEmptyStrings
-将其设置为false
将导致空白字符串上的模型验证失败。
[Required(AllowEmptyStrings = false)]