我想要實現演示jQuery驗證插件有here。但我想要解決的是:如果您在頁面加載後單擊提交,插件會顯示帶有交叉符號的驗證信息。如果你輸入了一些東西,msg就會變成複選標記圖像。但是,如果再次刪除文本,它會顯示驗證信息,但帶有複選標記,而不是十字圖像。我想糾正這個爲我的網站:使用jquery.validate進行表單驗證,通過覆蓋錯誤位置來顯示正確和錯誤的圖標
我正在使用jquery.validate進行客戶端驗證。爲了顯示正確和交叉圖標以及驗證消息,我正在使用icomoons圖標集(css方法)。我在下面添加了我的html和JS腳本。我試圖使用errorplacement來更改默認容器,但是如果您在文本框中輸入某些內容並再次將其刪除,則從交叉到右側的圖標不會更改。消息出現,但圖標不會更改。
此外,我想了解任何更有效的方式來編寫jquery.validate來實現圖標方法,我在這裏做什麼。
HTML節在這裏:
<!-- First step - form section starts here -->
<form class="form-horizontal" id="sampleForm">
<div class="control-group">
<label class="control-label" for="firstName">First Name:</label>
<div class="controls">
<input type="text" id="firstName" name="firstName" placeholder="Peter">
<div class="errormsgwrapper">
<span data-icon="" class="right hidden" aria-hidden="true"></span>
<span data-icon="" class="wrong hidden" aria-hidden="true"></span>
<div class="errormessage"></div>
</div>
</div>
</div>
<div class="control-group">
<label class="control-label" for="lastName">Last Name:</label>
<div class="controls">
<input type="text" id="lastName" name="lastName" placeholder="Parker">
<div class="errormsgwrapper">
<span data-icon="" class="right hidden" aria-hidden="true"></span>
<span data-icon="" class="wrong hidden" aria-hidden="true"></span>
<div class="errormessage"></div>
</div>
</div>
</div>
<div class="control-group">
<div class="controls pull-right">
<button type="submit" class="btn">Next »</button>
</div>
</div>
</form>
<hr>
<!-- /form -->
驗證腳本:
$().ready(function() {
// validate signup form on keyup and submit
$("#sampleForm").validate({
rules: {
firstName: "required",
lastName: "required"
},
highlight: function(label) {
$(label)
.closest('.control-group').removeClass('success').addClass('error');
$('label.error').removeClass('checked');
},
success: function(label) {
label.parents(".errormsgwrapper").children('.wrong').addClass('hidden');
label.parents(".errormsgwrapper").children('.right').removeClass('hidden');
label.closest('.control-group').addClass('success');
},
messages: {
firstName: {
required: "asdfds"
},
lastName: "Please enter your lastname"
},
errorPlacement: function(error, element) {
var errormsgwrapper = element.next(".errormsgwrapper");
errormsgwrapper.children("span.right").addClass('hidden');
errormsgwrapper.children("span.wrong").removeClass('hidden');
error.appendTo(errormsgwrapper.children(".errormessage"));
}
});
});
你可以在JSFiddle中展示這個嗎?謝謝! – user3067524
這不起作用。當您正確填寫表單域時,錯誤應該立即消失 - 而不是模糊。 –
我的要求是模糊,你可以使用可用的事件來處理你的需求。 –