0
我正在使用jQuery驗證& jquery.validate.unobtrusive在我的應用程序上。驗證錯誤消息未清除
在我的頁面上我有大約4-5個控件。其中一些是隱藏的。我的頁面上有3個按鈕。點擊第一個按鈕,我顯示隱藏的控件(單選按鈕和下拉列表)。所有這些都是必填字段。當用戶點擊提交按鈕的其他按鈕時,所有必填字段顯示正常。第三個按鈕用於在具有自己控件的不同視圖之間切換。
我的問題是,當用戶使用第二個按鈕提交表單,並且如果字段未填充,它顯示所需的字段消息罰款。此時,當我點擊第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>
我使用敲除和第三個按鈕,我切換我嘗試使用下面的代碼來清除和重置表單按鈕點擊,但這是行不通的。
var validator = $("form").validate();
validator.resetForm();
另一件事是提交表格時,我用下面的代碼來強制這些控件最初隱藏驗證:
$("form").removeData("validator");
$("form").removeData("unobtrusiveValidation");
$.validator.unobtrusive.parse($("form"));
最後,我可以看到,在生成以下跨度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>