私は次のモデルを持っています:
public class PersonListModel
{
....
[Required(ErrorMessage=AppConstants.MustSelectRecordToAttachMessage)]
public String SelectedPersonId { get; set; }
}
および次のビュー:
@using (Html.BeginForm("Attach", "Person", FormMethod.Post, new { @id = attachRecordFormId, targetDivId = personListId, @class = "inlineForm" }))
{
.....
@Html.HiddenFor(x => x.SelectedPersonId);
.....
<br />@Html.ValidationMessageFor(x => x.SelectedPersonId)
}
非表示のSelectedPersonIdフィールドは、ページ上の要素の1つのkeyupイベントにフックされたJavaScriptを介して入力されます。
私の問題は、フォームが送信されたときだけでなく、必要な検証メッセージにこの部分的なビューがすぐに表示されることです。また、Ajax投稿を介して部分ビューが再度レンダリングされた後も表示されます。
この問題を示さない非常によく似たビューがありますが、この問題を示す2つのビュー(上記のものを含む)があります。正しく機能するビューと、この誤った動作を示す2つのビューの違いを理解するために、排除のプロセスを経てきましたが、問題の原因を特定できませんでした。
問題のあるビューがロードされたときに、何かが目立たない検証を起動させていると思います。どうすればこれを追跡できますか?