Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jquery验证-是否可以更改提交的字段值?_Javascript_Jquery_Jquery Validate - Fatal编程技术网

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谢谢!根据文档,表单提交的值没有转换,只是为了验证而更改。