我是新手,并为服务器端的字符串长度验证创建了一个自定义属性。例如我有这个
[StringLength(5, MinimumLength = 2, ErrorMessageResourceName = "StringLength", ErrormessageResourceType = typeof(Resource))]
public string LastName { get; set; }
我想创建一个自定义属性,所以每次我需要验证字符串长度时我都可以减少重复项
[MyStringLength(5)]
public string LastName { get; set; }
这是我的观点
@Html.TextBoxFor(model => model.LastName)
@Html.ValidationMessageFor(model => model.LastName)
自定义属性“MyStringLength”的代码
public class MyStringLengthAttribute : StringLengthAttribute
{
public MyStringLengthAttribute(int maximumLength) : base(maximumLength)
{
base.ErrorMessageResourceName = "StringLength";
base.ErrorMessageResourceType = typeof(Resource);
}
}
这帮助了我Modify default ErrorMessage for StringLength validation ,但是在我发布表单之后,它只刷新了包含值的页面,并且没有显示任何验证消息
答案 0 :(得分:1)
我需要一个适配器进行客户端验证,并在我的global.asax.cs中注册自定义属性。请参阅Client-side validation for custom StringLength validation attribute