我想验证一个字符串,并显示一条成功消息,如果它很好的验证,我有这个:
$(document).ready(()=>{
console.log("Pagina cargada...");
jQuery.validator.addMethod('testWord', function (value, element) {
var validator = this;
console.log("Value ---> "+/^(El\s|La\s|L')\w+\sés\s\w+/.test(value))
var res = /^(El\s|La\s|L')\w+\sés\s\w+/.test(value)
if(res){
console.log("in if")
var errors = {};
errors[element.name] = "ok";
validator.showErrors(errors);
return false
}else{
console.log("in else")
var errors = {};
errors[element.name] = "not ok";
validator.showErrors(errors);
return false
}
});
$('form[id="second_form"]').validate({
rules: {
test: {
required: true,
testWord: true,
}
}
});
})
而且它不起作用,它没有显示消息。这是我用来测试的单词:
我在这里放截图:
这是因为您的表单输入没有name="test"
其他问题,该方法始终返回false。
$(document).ready(() => {
console.log("Pagina cargada...");
jQuery.validator.addMethod('testWord', function(value, element) {
var validator = this;
console.log("Value ---> " + /^(El\s|La\s|L')\w+\sés\s\w+/.test(value))
var res = /^(El\s|La\s|L')\w+\sés\s\w+/.test(value)
if (res) {
console.log("in if")
var errors = {};
errors[element.name] = "ok";
validator.showErrors(errors);
return true; // <== originally return "false"
} else {
console.log("in else")
var errors = {};
errors[element.name] = "not ok";
validator.showErrors(errors);
return false
}
}, "bad input");
$('#second_form').validate({
rules: {
test: {
required: true,
testWord: true,
}
}
});
})
<form id="second_form">
<input name="test" type="text">
</form>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/jquery.validate.min.js"></script>
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句