[英]add method in jquery validation
我正在通過jquery驗證插件驗證我的表單。 我面臨一個問題,我有一個查詢。 小提琴
問題:我已經使用addmethod添加了自定義驗證。 它工作正常,但未顯示相關消息。
查詢:我必須檢查用戶輸入的用戶名是否存在。 在以JSON形式進行ajax調用后,我得到響應。 前
{ “用戶名”: “存在”}
我提出另一種客戶驗證方法。
$.validator.addMethod("specialChar", function(value, element){
return response.username!="exist"
},"{0} already exist");
我的問題是ajax成功后如何觸發此驗證
$('#myform').validate({
onfocusout:function(element){
this.element(element)
},
rules:{
username:{
required:true,
specialChar:true
}
},
messages:{
**"username": {
required: "bhai ye required hai",
specialChar: "bhai ye special bhe mat daal"
}**
}
})
粗體是代碼的更改
並更新了小提琴: http : //jsfiddle.net/61pptcb3/3/
我認為您最好使用特殊的remote
方法 。 它允許您設置ajax請求以驗證元素。 它確實需要您對服務器設置進行一些小的更改,但是這使其余操作變得更加容易。
$.validator.addMethod("specialChar", function (value, element, params) {
var patt = new RegExp(/[^A-z]/g);
return !patt.test(value);
});
$('#myform').validate({
onfocusout: function (element) {
this.element(element)
},
rules: {
username: {
required: true,
specialChar: true
}
}
});
$.extend($.validator.messages, {
required: "My own text.",
specialChar: "special charactor not allow"
});
當用戶輸入用戶名時,添加並顯示一個ajax-loader。 當jQuery ajax調用返回時,隱藏ajax-loader圖標並顯示消息(如果用戶不存在)。
要提供對jQuery.ajax的回調,請使用:
jQuery.ajax(url, {complete: function(){}});
$("#myform").validate().element("#i1");
要將其放在一起,請執行以下操作:
$.ajax(url, {complete: function(data){
// truigger validation on ajax complete
$("#myform").validate().element("#i1");
}});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.