Javascript 验证 - 交叉验证

问题描述

场景: Field1:主字段

Field2:次要字段

次要字段应小于或等于主要字段。

//Validator
$.validator.addMethod('toolboxcrossvalidation',function customCrossValiadtion(value,element,param) {
  if (this.optional(element)) {
    return true;
  }

  //Grab value of the input field field2
  var inputValue = .....;
  //Get compare element (field1) based on crossvalidationqid
  var comapreelement = ......;
  var compareElementValue = ...;

  if (inputValue <= compareElementValue) {
    return true;
  }
  $.validator.message["toolboxrossvalidation"] = element.attributes["toolboxcrossvalidation"].value;
  return false;
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
//fields
<input name="field1" id="field1" data-qid="1-f1" value="2" />
<input name="field2" id="field2" data-qid="1-f2" value="5" crossvalidationqid="1-f1" toolboxcrossvalidation="Field1 should be higher than Field2" />

测试用例 1:在字段 1 中输入值 4,在字段 2 中输入值 5。 应用验证并显示错误。

测试用例 2: 字段 1 = 4 和字段 2 = 4 将 field1 中的值更改为 3。 给定 field2 的值仍然是 4,但没有显示验证错误。

有人可以帮我纠正代码以满足测试用例 2 吗?

谢谢

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)