私は次の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 を入力すると、エラー メッセージが表示されたままになります (別の入力フィールドに移動した場合も同様です)。このスクリーンショットを参照してください。
私は使用しています:
- jQuery JavaScript ライブラリ v2.0.3 (jquery-2.0.3.js)
- jQuery 検証プラグイン 1.11.1 (jquery.validate.js)
- jQuery および jQuery Validate 用の控え目な検証サポート ライブラリ (jquery.validate.unobtrusive.js)