私のアプリケーションでjqueryの検証& jquery.validate.unobtrusiveを使用しています。検証エラーメッセージがクリアされない
私のページには、約4-5個のコントロールがあります。これらのうちのいくつかは隠されています。私のページには3つのボタンがあります。最初のボタンをクリックすると、非表示のコントロール(ラジオボタンとドロップダウン)が表示されます。これらはすべて必須フィールドです。ユーザーが送信ボタンである他のボタンをクリックすると、必要なフィールドがすべて正常に表示されます。 3番目のボタンは、独自のコントロールを持つ別のビューを切り替えるために使用されます。
私の問題は、ユーザーが2番目のボタンを使用してフォームを送信し、フィールドに値が入力されていない場合は必須のフィールドメッセージが表示されることです。この時点で、3番目のボタンをクリックして別のビューに切り替えた後、私のビューに戻すと、エラーメッセージが表示されます。私はこれらのエラーメッセージをクリアすることができません。私が持っているラジオボタンの下に 参照してください:
<div class="col-sm-10">
<label class="radio-inline">
<input type="radio" value="myValue1" asp-for="Name" class="required"
data-bind="checked: name" />Name value 1
</label>
<label class="radio-inline">
<input type="radio" value="myValue2" asp-for="Name" data-bind="checked:
name" />Name value 2
</label>
<span asp-validation-for="Name" class="danger"></span>
私はノックアウトを使用して、私は私がクリアし、フォームをリセットするには、以下のコードを使用しようとしたがトグル3つ目のボタンのボタンクリックにしていますそれは動作しません。最後に私が生成され、次のスパンを見ることができます
$("form").removeData("validator");
$("form").removeData("unobtrusiveValidation");
$.validator.unobtrusive.parse($("form"));
:私はこれらのコントロールが最初に隠されているとの検証を強制するために、次のコードを使用していますフォームを送信しながら、
var validator = $("form").validate();
validator.resetForm();
もう一つはありますHTML:
<span class="help-block-msg field-validation-valid" data-valmsg-for="Name"
data-valmsg-replace="true">
<span id="Name-error" class="">This field is required.</span>
</span>