我花了 6 个小时尝试解决我的问题。
我使用 jQuery 验证插件。
我有一个带有密码输入的表单。如果密码错误(AJAX 请求告诉我),另一个输入的值为 0。 如果此输入没有值或值为 0,我希望不要提交我的表单。
但是它不起作用,我无法解释为什么。
这是我的 HTML :
<form method="post" action="ajax/traitement.php" id="form-durabilite" class="col-lg-12">
<input type="text" id="switch" name="input_cache" value=""/>
<input type="password" name="signature" id="sign"/>
<input class="btn btn-lg btn-warning" type="submit"value="Envoyer" />
</form>
还有我的 jQuery:
$('#form-durabilite' ).validate({
rules: {
signature: {
required:function(element) {
return $('#switch').val() == 0 || $('#switch').val() == ''
}
}
},
messages: {
signature: {
required:'Votre mot de passe est obligatoire'
}
}
});
我没有消息,什么都没有,就像我的规则不存在一样! 我做错了什么?
最佳答案
您可以使用这样的正则表达式,而不是在规则内编写函数:
这个[$.validator.addMethod]是根据给定正则表达式检查输入值的常用方法
$.validator.addMethod("regx", function(value, element, regexpr) {
var re = new RegExp(regexpr);
var ret = re.test(value);
return ret;
});
$('#form-durabilite' ).validate({
rules: {
signature: {
required:true,
regx:"^[^0-9]{6}$" // Here you can give regular expression for validating you input values
}
},
messages: {
signature: {
required:'Votre mot de passe est obligatoire',
regx:'Le mot de passe n'est pas valide'
}
}
});
希望对你有帮助。
关于javascript - Jquery验证: if input has specific value : error,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43614778/