asp.net-mvc – ASP.NET MVC:添加将DisplayName合并到自定义ValidationAttr
发布时间:2020-10-19 14:07:53 所属栏目:asp.Net 来源:互联网
导读:我正在使用带有DataAnnotations的ASP.NET MVC.我创建了以下自定义ValidationAttribute,它可以正常工作. public class StringRangeAttribute : ValidationAttribute{ public int MinLength { get; set; } public int MaxLength { get
|
我正在使用带有DataAnnotations的ASP.NET MVC.我创建了以下自定义ValidationAttribute,它可以正常工作. public class StringRangeAttribute : ValidationAttribute
{
public int MinLength { get; set; }
public int MaxLength { get; set; }
public StringRangeAttribute(int minLength,int maxLength)
{
this.MinLength = (minLength < 0) ? 0 : minLength;
this.MaxLength = (maxLength < 0) ? 0 : maxLength;
}
public override bool IsValid(object value)
{
//null or empty is <em>not</em> invalid
string str = (string)value;
if (string.IsNullOrEmpty(str))
return true;
return (str.Length >= this.MinLength && str.Length <= this.MaxLength);
}
}
但是,出现的错误消息是标准的“字段*无效”.我想将其更改为:“[DisplayName]必须介于[minlength]和[maxlength]之间”,但我无法弄清楚如何从此类中获取DisplayName甚至字段的名称. 谁知道? 解决方法稍微修改过的StringLengthAttribute:public class StringRangeAttribute : ValidationAttribute
{
// Methods
public StringRangeAttribute(int minimumLength,int maximumLength)
: base(() => "The {0} must be between {1} and {2} chars long.")
{
MaximumLength = maximumLength;
MinimumLength = minimumLength;
}
public override string FormatErrorMessage(string name)
{
return string.Format(CultureInfo.CurrentCulture,ErrorMessageString,new object[] { name,MinimumLength,MaximumLength });
}
public override bool IsValid(object value)
{
if (value != null)
{
return (((string)value).Length <= MaximumLength) && (((string)value).Length >= MinimumLength);
}
return true;
}
public int MaximumLength { get; set; }
public int MinimumLength { get; set; }
} (编辑:鄂州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc-3 – 为什么两个类,视图模型和域模型?
- asp.net – 有没有比升级到Visual Studio 2010 Ultimate更便
- asp.net – 渗透测试人员说.ASPXAUTH cookie是不安全的并且
- ASP.NET 程序中删除文件夹导致session失效问题的解决办法分
- asp.net – 在web.config文件中设置重定向
- asp.net 读取xml文件里面的内容,绑定到dropdownlist中
- asp.net-mvc – MVC应用程序调试错误:viewstate MAC的验证
- asp.net结合Ajax验证用户名是否存在的代码
- entity-framework-4 – 当超出范围时,Ninject不调用对对象的
- iCalendar格式中关于RRule的解析和生成
