EditorFor使用不同的验证消息

时间:2014-03-13 00:27:17

标签: asp.net-mvc validation editorfor

我在代码中使用单个模型ContactAddress使用3个地址:

public class ContactAddress
{
    [Required("Invalid address1")]
    public stirng Address1 { get; set; }
}

来自父模板

@Html.ValidationSummary("", new { @class = "validation" })
@Html.EditorFor(_ => _.HomeAddress)
@Html.EditorFor(_ => _.WorkAddress)
@Html.EditorFor(_ => _.OtherAddress)

来自编辑器模板

<div class="large-9 columns left">
   @Html.TextBoxFor(_ => _.Address1, new { placeholder = "Enter text..."} )
</div>

这很好。但问题是,一旦页面验证,它就会显示重复的错误消息。

它显示如下

 -Invalid address1
 -Invalid address1
 -Invalid address1

我想要的是什么。是

 -Home Address: Invalid address1
 -Work Address: Invalid address1
 -Other Address: Invalid address1

有关如何在不进行任何重大更改的情况下使每个模型更具体地显示错误消息的任何建议。

1 个答案:

答案 0 :(得分:0)

如果您使用的是验证摘要而不是单独的验证消息,那么在使用数据属性时,这并不是一种简单的方法。

如果您使用FluentValidation之类的内容,可以自定义此项,然后您可以添加一些类型检查以确定要使用的消息...