Javascript 验证 - 交叉验证

时间:2021-05-04 11:54:16

标签: javascript validation toolbox

场景: 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 吗?

谢谢

0 个答案:

没有答案