有人可以使用MVC中的数据注释,分享其使用单独的错误消息的最小和最大字符串长度的实现?
看来StringLength只允许单个错误消息,一个MinLength / MaxLength不会产生不显眼的验证标记,因为它们不是IClientValidatable
虽然这似乎是一个非常常见的要求,但我无法在网络上找到一个实现.
解决方法
您可以使用RegularExpression数据注释进行最小检查,并使用StringLength属性进行最大检查.
Javascript将执行正则表达式客户端,所以他们是漂亮和不引人注目的!您只能对每个属性使用一个RegularExpression属性,否则可以使用正则表达式同时使用最大和最小值.
最少5个字符
[RegularExpression(@"^.{5,}$",ErrorMessage = "Minimum 5 characters required")]
最多50个字符
[StringLength(50,ErrorMessage = "Maximum {2} characters exceeded")]