加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc-3 – 修改StringLength验证的默认ErrorMessage

发布时间:2020-12-15 18:39:49 所属栏目:asp.Net 来源:网络整理
导读:StringLength验证的默认ErrorMessage比我想要的要长很多: The field {Name} must be a string with a maximum length of {StringLength}. 我想将其普遍改为: Maximum length is {StringLength}. 我想避免冗余地指定我声明的每个字符串的ErrorMessage: [St
StringLength验证的默认ErrorMessage比我想要的要长很多:

The field {Name} must be a string with a maximum length of {StringLength}.

我想将其普遍改为:

Maximum length is {StringLength}.

我想避免冗余地指定我声明的每个字符串的ErrorMessage:

[StringLength(20,ErrorMessage="Maximum length is 20")]
    public string OfficePhone { get; set; }
    [StringLength(20,ErrorMessage="Maximum length is 20")]
    public string CellPhone { get; set; }

我很确定我记得有一种简单的方式来普遍改变ErrorMessage,但是不能回想起来。

编辑:

为了澄清,我试图普遍地更改默认的ErrorMessage,以便我可以输入:

[StringLength(20)]
    public string OfficePhone { get; set; }

并有错误信息说:

Maximum length is 20.

解决方法

您可以在许多属性上指定StringLength属性,如下所示
[StringLength(20,ErrorMessageResourceName = "StringLengthMessage",ErrorMessageResourceType = typeof(Resource))]
public string OfficePhone { get; set; }
[StringLength(20,ErrorMessageResourceType = typeof(Resource))]
public string CellPhone { get; set; }

并在您的资源文件中添加字符串资源(名为StringLengthMessage)

"Maximum length is {1}"

消息定义一次,并有一个变量占位符,如果你改变想法的长度来测试。

您可以指定以下内容:

> {0} – 名称
> {1} – 最大长度
> {2} – 最小长度

更新

为了进一步减少重复,您可以对StringLengthAttribute进行子类化:

public class MyStringLengthAttribute : StringLengthAttribute
{
    public MyStringLengthAttribute() : this(20)
    {
    }

    public MyStringLengthAttribute(int maximumLength) : base(maximumLength)
    {
        base.ErrorMessageResourceName = "StringLengthMessage";
        base.ErrorMessageResourceType = typeof (Resource);
    }
}

或者,如果要添加其他参数,您可以覆盖FormatErrorMessage。现在的属性如下:

[MyStringLength]
public string OfficePhone { get; set; }
[MyStringLength]
public string CellPhone { get; set; }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读