pin*_*one 5 asp.net-mvc mvc-editor-templates razor asp.net-mvc-4
我有一个简单的模型:
public abstract class Person
{
[Required(ErrorMessage = "Il nome è obbligatorio!!!")]
[UIHint("txtGeneric")]
[Display(Name = "Nome")]
public string Name { get; set; }
[Required(ErrorMessage = "Il cognome è obbligatorio!!!")]
[UIHint("txtGeneric")]
[Display(Name = "Cognome")]
public string Surname { get; set; }
[Required(ErrorMessage = "L'email è obbligatoria e deve essere in formato valido (nome@dominio.it)!!!")]
[UIHint("txtEmail")]
[Display(Name = "E-mail")]
public string Email { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我在EditorTemplate里面创建了txtGeneric.cshtml文件.它是这样的:
@model string
<input name="@ViewData.TemplateInfo.HtmlFieldPrefix" id="@ViewData.TemplateInfo.HtmlFieldPrefix" data-validation="required" data-validation-error-msg="MESSAGE_TO_PUT" value="@Model" />
Run Code Online (Sandbox Code Playgroud)
我想知道如何将与Errormessage of Required属性相关联的文本放入我的txtGeneric.cshtml文件中.我怎样才能做到这一点?
谢谢
这有效:
@{
string requiredMsg = "";
foreach (var attr in @Html.GetUnobtrusiveValidationAttributes(@ViewData.TemplateInfo.HtmlFieldPrefix, @ViewData.ModelMetadata))
{
if (attr.Key == "data-val-required") {
requiredMsg = attr.Value.ToString();
}
}
}
Run Code Online (Sandbox Code Playgroud)
或这个:
@{
string requiredMsg = "";
IEnumerable<ModelClientValidationRule> clientRules = ModelValidatorProviders.Providers.GetValidators(ViewData.ModelMetadata, ViewContext).SelectMany(v => v.GetClientValidationRules());
foreach (ModelClientValidationRule rule in clientRules)
{
if (rule.ValidationType == "required")
{
requiredMsg = rule.ErrorMessage;
}
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2293 次 |
最近记录: |