远程验证MVC 4.0:多字段验证不会清除错误

时间:2013-08-20 11:26:19

标签: asp.net-mvc validation clear

我有以下ViewModel:

public class EmployeeVM : IEntity
{
    [Remote("ValidateUniqueFullName", "Employee", AdditionalFields = "LastName,Id")]
    public string First { get; set; }

    [Remote("ValidateUniqueFullName", "Employee", AdditionalFields = "First,Id")]
    public string LastName { get; set; }
}

视图如下:

<tr>
    <td>
         @Html.LabelFor(model => model.First)
    </td>
    <td>
        @Html.TextBoxFor(model => model.First)
    </td>
    <td>
        @Html.ValidationMessageFor(model => model.First)            
    </td>
</tr>
<tr>
    <td>
        @Html.LabelFor(model => model.LastName)
    </td>
    <td>
        @Html.TextBoxFor(model => model.LastName)
    </td>
    <td>
        @Html.ValidationMessageFor(model => model.LastName)
    </td>
</tr>


当您只填写FirstName时,会收到一条错误消息,指出LastName丢失,这很好。但是当您填写LastName时,错误消息仍然存在(当您移动到其他输入字段时)。 请参阅此屏幕截图:enter image description here


我正在使用:

  • jQuery JavaScript Library v2.0.3(jquery-2.0.3.js)
  • jQuery Validation Plugin 1.11.1(jquery.validate.js)
  • 用于jQuery和jQuery验证的不显眼的验证支持库(jquery.validate.unobtrusive.js)

2 个答案:

答案 0 :(得分:1)

提出了类似的问题here

解决方案是使用Kiff所述的辅助方法。

答案 1 :(得分:1)

Kiff回答 See Answer

它对我有用。