jquery验证-自定义规则-依赖项回调
我真的不知道为什么我在jquery中的自定义规则不起作用。它所要做的就是在文本中寻找一个子字符串,如果它没有出现,就需要它,如果它出现,就不需要它。我正在使用jquery验证库。我希望它是简单的。。。请帮忙jquery验证-自定义规则-依赖项回调,jquery,jquery-validate,validation,Jquery,Jquery Validate,Validation,我真的不知道为什么我在jquery中的自定义规则不起作用。它所要做的就是在文本中寻找一个子字符串,如果它没有出现,就需要它,如果它出现,就不需要它。我正在使用jquery验证库。我希望它是简单的。。。请帮忙 jQuery.noConflict(); (function($) { $(function() { $("#frmUpdateCC").validate({ errorContainer: "#updateProfileCC", errorPlace
jQuery.noConflict();
(function($) {
$(function() {
$("#frmUpdateCC").validate({
errorContainer: "#updateProfileCC",
errorPlacement: function(error, element) {},
rules: {
txtCardNo1: {
required: true,
creditcard: function() {
var str = $('#txtCardNo1').val();
str = (str.indexOf("xxxxxx"));
return (str != 6 );
}
}
cboMonth1: "required",
cboCard1: "required",
}
});
});
})(jQuery);
我试过使用!==6, !='6'及其其他变体我认为您希望将回调函数分配给“required”属性,而不是“creditcard”属性:
required: function() { var str = .... }
当前您已将所需属性硬编码为true。那么,str.indexOf(“xxxxxx”)
将返回字符串str
中“xxxxxx”的起始位置
因此,如果str
包含'xxxxxx'
,则只有当'xxxxxx'
从位置6开始时,您的语句才会计算为true。你是想测试str.length吗
否则,为什么不干脆做:
str = (str.indexOf("xxxxxx"));
return (str === -1 );
你必须这样做
creditcard: function() {
var str = $('#txtCardNo1').val();
str = (str.indexOf("xxxxxx"));
if (str > -1) {
return true;
}
else {
return false;
}
}
我认为规则信用卡只支持像nnn nnn nnn这样的数字格式。因此,我认为您必须根据需要添加另一个规则,我的意思是自定义规则不,我只需要它来检查信用卡属性,如果那些X不存在。这是必须的。我会试试看。。。基本上,我需要的声明评估为假,如果该声明存在(在第六位或任何位置)。。。。我试过-1,但我会再试一次。那应该行得通。如果找不到字符串,那么indexOf将等于-1…因此str==-1将返回true。如果找到“xxxxxx”,那么indexOf将大于-1,因此str==-1将返回false。非常欢迎您。对不起,我以前没有给你回电话。