我正在尝试验证用户的名字,使其只接受字符。我还想指定一个最大长度验证,并且第一个名称不应为空。
但我只能对角色进行验证。现在我想设置第一个名称的最大长度,名称也不应该为空,当验证失败时,它应该将输入框的边框颜色更改为红色并给出错误信息。
$(document).ready(function(){
jQuery.validator.addMethod("lettersonly", function(value, element) {
return this.optional(element) || /^[a-z\s]+$/i.test(value);
});
$('#myForm').validate({
rules: {
firstName: {
lettersonly: true
}
},
messages:{
firstName: {
lettersonly: "please enter characters only",
}
}
});
});

.error{
color:red;
}

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.15.0/jquery.validate.min.js"></script>
<script src="http://ajax.microsoft.com/ajax/jquery.validate/1.7/additional-methods.js"></script>
<form id="myForm">
<label for="firstname" id="label1">firstName:</label>
<input type="text"id="firstName" name="firstName"><br><br>
</form>
&#13;
答案 0 :(得分:2)
您可以在jquery-validation插件中使用内置函数。
https://jqueryvalidation.org/maxlength-method/
如果元素为
,则返回false
- 某种文字输入及其价值太长
- 一组复选框,检查了太多框
- 选择并选择了太多选项
$('#myForm').validate({
rules: {
firstName: {
lettersonly: true
required: true,
maxlength: 200
}
},
messages:{
firstName: {
lettersonly: "please enter characters only",
required: "Enter your first name, please.",
maxlength: "Funny msg"
}
}
});