[英]Set a single message for Required Textbox In mvc 4
我正在使用MVC4。我想像这样将许多文本框设置为Required :
public int Id { get; set; }
[Required]
public string Name { get; set; }
[Required]
public string LastName { get; set; }
[Required(ErrorMessage = "test")]
[StringLength(10,ErrorMessage = "کد ملی باید ده رقمی باشد",MinimumLength = 10)]
所以我必须为每个文本框写一条错误消息,这很耗时。如何在MVC4中为所有必需的文本框设置一条消息?
最好的祝福
通过Overriding
现有的必需属性来创建自定义必需属性,如下所示:
public class RequiredAttribute : System.ComponentModel.DataAnnotations.RequiredAttribute
{
private string _propertyName;
public RequiredAttribute([CallerMemberName] string propertyName = null)
{
_propertyName = propertyName;
}
public string PropertyName
{
get { return _propertyName; }
}
private string GetErrorMessage()
{
//Provide your Error Message Here..
}
public override string FormatErrorMessage(string name)
{
//note that the display name for the field is passed to the 'name' argument
return string.Format(GetErrorMessage(), name);
}
}
我只会使用签名,您可以在其中从资源文件中提取错误消息。 这样,您可以将错误消息设置在一个位置,并使所需的属性看起来像这样:
[Required(ErrorMessageResourceType = typeof(MyResources), ErrorMessageResourceName = "ErrorMessageForRequired")]
这是来自Phil Haack的文章 。
不为任何文本框和用户验证摘要提供ErrorMessage
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.