Javascript jQuery验证等式

Javascript jQuery验证等式,javascript,jquery,validation,Javascript,Jquery,Validation,我想使用jQuery validate()插件使用equalTo来验证签名字段,基本上签名字段必须匹配名字和姓氏字段,使用validate()插件可以吗 演示如何检查它是否等于另一个输入,但它是否可以执行以下操作 相等:字段1+字段2 反对 equalTo:field1 基本上,我想问的是,我们是否可以连接两个字段并在validate()插件中使用它们 名字* 姓* $(“#myForm”)。验证({ //指定验证规则 规则:{ //名字 名字:“必选”, //姓 姓氏:“必填” },

我想使用jQuery validate()插件使用equalTo来验证签名字段,基本上签名字段必须匹配名字和姓氏字段,使用validate()插件可以吗

演示如何检查它是否等于另一个输入,但它是否可以执行以下操作

相等:字段1+字段2

反对

equalTo:field1

基本上,我想问的是,我们是否可以连接两个字段并在validate()插件中使用它们

  • 名字*
  • 姓*
  • $(“#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;
                               }
    );