我有一个验证摘要,显示以下html
<div class="validation-summary-errors" data-valmsg-summary="true">
<span>Une ou plusieurs erreurs sont survenues.</span>
<ul>
<li>Le champ Nom d'utilisateur est requis.</li>
<li>Le champ Mot de passe est requis.</li>
</ul>
</div>
错误消息是dataannotation的必需属性中的默认消息: 它们由requiredfield属性和本地化
进行本地化[Required]
[Display(Name = "Username", Prompt = "Username", ResourceType = typeof(Localized))]
public String Username { get; set; }
[Required]
[Display(Name = "Password", Prompt = "Password", ResourceType = typeof(Localized))]
public String Password { get; set; }
在我看来:
@Html.TextBoxFor(m => m.Username)
正在给予
<input data-val="true" data-val-required="Le champ Nom d'utilisateur est requis." id="Username" name="Username" type="text" value="" class="input-validation-error">
我想要达到的目标是验证摘要
<ul>
<li>Le champ <span>Nom d'utilisateur</span> est requis.</li>
<li>Le champ <span>Mot de passe</span> est requis.</li>
</ul>
所以我想在输入中我会有
data-val-required="Le champ <span>Nom d'utilisateur</span> est requis."
我想避免替换所有必需的属性,所以我正在寻找一种全局的方法,我正在寻找DataAnnotationsModelValidatorProvider.RegisterAdapter方法,但我不确定&#? 39,我正在寻找的东西。
有人知道如何实现这一目标吗?
答案 0 :(得分:1)
我的问题找不到合适的答案,
所以我最后构建了一个继承RequiredAttribute并覆盖FormatErrorMessage方法的简单属性
public sealed class FormattedRequiredAttribute : RequiredAttribute
{
public override string FormatErrorMessage(string name)
{
return base.FormatErrorMessage("<span>"+name+"</span>");
}
}
我用[FormattedRequired]属性替换了所有[Required]属性