不需要的字段只允许字母和数字?
Allowing only letters and numbers for not required field?
我正在使用 Jquery 验证插件来验证表单字段。我有一个场景,我们需要验证该字段以仅允许输入字母和数字,如果它是键入的并且该字段不是必需的。
<input type="text" class="form-control" data-msg-required="Enter your last name" name="lastname" placeholder="Last Name">
我的代码只接受字母和数字。但是,如果我使用,即使我将 required 设置为 false,它也会使该字段成为必填项。
jQuery.validator.addMethod("accept", function(value, element, param) {
return value.match(new RegExp("." + param + "$"));
}, "Please enter a valid name");
lastname: {
accept: "[a-zA-Z]+"
}
只是我不想 运行 在有人输入之前验证规则中的脚本。
你可以自己做,而不是像这样使用插件:
$('input').on('keypress',function(e){
if(!/([a-zA-Z0-9])+/.test(String.fromCharCode(e.which))) return false;
});
终于自己找到了
function lastnameRequired() {
return $('#lastname').val().length > 0;
}
lastname: {
required: lastnameRequired,
accept: {
param: "[a-zA-Z]+",
depends: lastnameRequired
}
},
以上代码解决了我的问题。希望对大家有帮助!
I've code that do accept only letters and numbers. But, if I use, it makes the field mandatory even if I set required
to false
.
那是因为您的自定义规则不关心字段是否为空。您已经编写了它,以便也评估空白值。
Simply I don't want to run the validate script in rules until someone types.
您还需要检查this.optional(element)
以确保该字段未设置为required
(然后当该字段留空时它可以通过验证)。
jQuery.validator.addMethod("accept", function(value, element, param) {
return this.optional(element) || value.match(new RegExp("." + param + "$"));
}, "Please enter a valid name");
Allowing only letters and numbers for not required field?
您不需要为此编写自定义方法。您可能刚刚使用了 the additional-methods.js
file.
中的 alphanumeric
方法
我正在使用 Jquery 验证插件来验证表单字段。我有一个场景,我们需要验证该字段以仅允许输入字母和数字,如果它是键入的并且该字段不是必需的。
<input type="text" class="form-control" data-msg-required="Enter your last name" name="lastname" placeholder="Last Name">
我的代码只接受字母和数字。但是,如果我使用,即使我将 required 设置为 false,它也会使该字段成为必填项。
jQuery.validator.addMethod("accept", function(value, element, param) {
return value.match(new RegExp("." + param + "$"));
}, "Please enter a valid name");
lastname: {
accept: "[a-zA-Z]+"
}
只是我不想 运行 在有人输入之前验证规则中的脚本。
你可以自己做,而不是像这样使用插件:
$('input').on('keypress',function(e){
if(!/([a-zA-Z0-9])+/.test(String.fromCharCode(e.which))) return false;
});
终于自己找到了
function lastnameRequired() {
return $('#lastname').val().length > 0;
}
lastname: {
required: lastnameRequired,
accept: {
param: "[a-zA-Z]+",
depends: lastnameRequired
}
},
以上代码解决了我的问题。希望对大家有帮助!
I've code that do accept only letters and numbers. But, if I use, it makes the field mandatory even if I set
required
tofalse
.
那是因为您的自定义规则不关心字段是否为空。您已经编写了它,以便也评估空白值。
Simply I don't want to run the validate script in rules until someone types.
您还需要检查this.optional(element)
以确保该字段未设置为required
(然后当该字段留空时它可以通过验证)。
jQuery.validator.addMethod("accept", function(value, element, param) {
return this.optional(element) || value.match(new RegExp("." + param + "$"));
}, "Please enter a valid name");
Allowing only letters and numbers for not required field?
您不需要为此编写自定义方法。您可能刚刚使用了 the additional-methods.js
file.
alphanumeric
方法