Javascript jquery验证-是否可以更改提交的字段值?
我有一个自定义方法Javascript jquery验证-是否可以更改提交的字段值?,javascript,jquery,jquery-validate,Javascript,Jquery,Jquery Validate,我有一个自定义方法 $.validator.addMethod("lettersandspaces", function(value, element) { var value = this.elementValue(element).replace(/\s+/g, ' ').trim(); return this.optional(element) || /^[a-zA-Z][a-zA-Z\s]*$/i.test(value); }, 'Your name may only c
$.validator.addMethod("lettersandspaces", function(value, element) {
var value = this.elementValue(element).replace(/\s+/g, ' ').trim();
return this.optional(element) || /^[a-zA-Z][a-zA-Z\s]*$/i.test(value);
}, 'Your name may only contain letters');
在这里,我修剪空白并用一个空白替换任何重复的空白。然后我将进行验证,以确保只有字母和空格
是否可以使修剪后的值
与表单一起提交,而不是与用户输入的内容一起提交?使用,您可以在提交表单之前执行任何操作,(form.submit())
请参见beleow工作片段
$.validator.addMethod(“lettsandspaces”,函数(值,元素){
var value=this.elementValue(element.replace(/\s+/g',).trim();
返回此.optional(element)| |/^[a-zA-Z][a-zA-Z\s]*$/i.test(value);
}“您的姓名只能包含字母”);
$(文档).ready(函数(){
$(“#表格”)。验证({
规则:{
“姓名”:{
要求:正确,
最小长度:5,
字母和空格:true
},
“年龄”:{
要求:正确,
}
},
信息:{
“姓名”:{
必填:“请输入名称”
},
“年龄”:{
必填:“请输入您的年龄”,
}
},
submitHandler:函数(表单){//用于演示
var newName=$(“#name”).val().replace(/\s+/g',).trim()
$(“#名称”).val(新名称);
$(form.valid();
警报(“名称=”+“新名称+”);
//注释返回和取消注释form.submit(
返回false;//form.submit();
}
});
});
姓名:
年龄:
提交
在jquery的验证表单中。如果要在验证之前更改值输入名称,请尝试:
$('#form').validate({
rules: {
'name': {
normalizer: function(){
return $('#name').val().(/\s+/g, ' ').trim();
}
}
}
})
是的,在提交表单之前,使用jQuery操作表单的数据。但是,这与jQuery验证插件无关。@Sparky谢谢!根据文档,表单提交的值没有转换,只是为了验证而更改。