Kum*_*mar 4 c# asp.net data-annotations asp.net-mvc-2
我正在尝试创建一个最小长度验证属性,该属性将强制用户在文本框中输入指定的最小字符数
public sealed class MinimumLengthAttribute : ValidationAttribute
{
public int MinLength { get; set; }
public MinimumLengthAttribute(int minLength)
{
MinLength = minLength;
}
public override bool IsValid(object value)
{
if (value == null)
{
return true;
}
string valueAsString = value as string;
return (valueAsString != null && valueAsString.Length >= MinLength);
}
}
Run Code Online (Sandbox Code Playgroud)
在MinimumLengthAttribute的构造函数中,我想设置错误消息,如下所示:
ErrorMessage ="{0}必须至少为{1}个字符"
如何获取属性的显示名称以便填充{0}占位符?
如果您的错误消息有多个占位符,那么您的属性还应该重写FormatErrorMessage方法,如下所示:
public override string FormatErrorMessage(string name) {
return String.Format(ErrorMessageString, name, MinLength);
}
Run Code Online (Sandbox Code Playgroud)
并且您应该调用构造函数重载之一来指定属性的默认错误消息:
public MinimumLengthAttribute()
: base("{0} must be at least {1} characters long") {
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2134 次 |
| 最近记录: |