在mvc 4中为Required Textbox设置一条消息
本文关键字:设置 一条 消息 Textbox Required mvc 中为 | 更新日期: 2023-09-27 17:54:14
我使用的是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的一篇文章
没有为任何textbox和uservalidationsummary提供ErrorMessage