Javascript jQuery验证等式
我想使用jQuery validate()插件使用equalTo来验证签名字段,基本上签名字段必须匹配名字和姓氏字段,使用validate()插件可以吗 演示如何检查它是否等于另一个输入,但它是否可以执行以下操作 相等:字段1+字段2 反对 equalTo:field1 基本上,我想问的是,我们是否可以连接两个字段并在validate()插件中使用它们Javascript jQuery验证等式,javascript,jquery,validation,Javascript,Jquery,Validation,我想使用jQuery validate()插件使用equalTo来验证签名字段,基本上签名字段必须匹配名字和姓氏字段,使用validate()插件可以吗 演示如何检查它是否等于另一个输入,但它是否可以执行以下操作 相等:字段1+字段2 反对 equalTo:field1 基本上,我想问的是,我们是否可以连接两个字段并在validate()插件中使用它们 名字* 姓* $(“#myForm”)。验证({ //指定验证规则 规则:{ //名字 名字:“必选”, //姓 姓氏:“必填” },
名字*
姓*
$(“#myForm”)。验证({
//指定验证规则
规则:{
//名字
名字:“必选”,
//姓
姓氏:“必填”
},
//指定验证错误消息
信息:{
//名字
名字:“请输入您的名字”,
//姓
姓氏:“请输入您的姓氏”
},
submitHandler:函数(表单){
表单提交();
}
});
});
基本上不是。您需要编写自己的验证器函数。例如。像这样:
jQuery.validator.addMethod("concatEqualsTo",
function (value, element, params)
{
var concatedVal;
$(params).each(function(index, val)
{
concatedVal += $(val).val();
}
);
return val === concatedVal;
}
);
这只是一个动态的例子。不确定它是否有效,但它应该有效。将此代码放在脚本末尾的$(文档)之前。将调用ready
编辑:有关文档,请参见此处:
您还应该向它传递一个要用jQuery符号表示的元素数组。我已经做了一个快速的破解来解决这个问题。它工作得很好,尽管这可能不是最好的方法
- 添加隐藏的输入
#全名
- 使用由空格分隔的名字和姓氏值填充隐藏的输入
- 验证签名并转移隐藏的输入
$(“#名称1,#名称2”)。关于(“更改”,函数(){
$(“#全名”).val($(“#名称1”).val()+”+$(“#名称2”).val());
});
jQuery.validator.setDefaults({
是的,
成功:“有效”
});
$(“#myform”)。验证({
规则:{
名称1:“必需”,
名称2:“必需”,
签名:{
equalTo:“全名”
}
}
});代码>
名字
2名称
签名
请看这个。让我知道你需要什么?我希望名字和姓氏与签名中的全名相匹配,因此连接两个值并检查它们是否等于1字段。如果愿意,您可以编写一个小技巧。如何将自定义方法应用于validate()函数?我喜欢您的技巧,它工作得很好:)这不是真正的技巧,这就像一个两步简单验证,而不是创建一个完整的方法。问题是,如果他们使用小写或大写,它必须匹配100%,如何使jquery验证忽略字母大小写?
jQuery.validator.addMethod("concatEqualsTo",
function (value, element, params)
{
var concatedVal;
$(params).each(function(index, val)
{
concatedVal += $(val).val();
}
);
return val === concatedVal;
}
);