将动态验证文本添加到自定义jQuery验证规则中

Add dynamic validation text to custom jQuery validation rule

本文关键字:验证 jQuery 规则 自定义 添加 动态 文本      更新时间:2023-09-26

我编写了一个jQuery验证规则,如果输入的金额小于5000或大于500000,则显示验证失败。我试图将验证消息设置为规则中的动态变量,但我收到一个错误,说我没有定义validationMessage变量。

# Error
Uncaught ReferenceError: validationMessage is not defined
# Custom Rule
$.validator.addMethod("requestAmount", function(value, element) {
  var cleanAmount = value.replace(/',/g,'');
  var validationMessage = '';
  console.log(cleanAmount)
  if (cleanAmount < 5000) {
    var validationMessage = 'Please enter an amount greater than $5,000.00';
    return false;
  } else if (cleanAmount > 500000) {
    var validationMessage = 'Please enter an amount less than $500,000.00';
    return false;
  } else {
    return true;
  };
}, validationMessage);

在函数范围外声明var validationMessage,并在每次将值设置为validationMessage:时删除var

var validationMessage;
# Custom Rule
$.validator.addMethod("requestAmount", function(value, element) {
  var cleanAmount = value.replace(/',/g,'');
  validationMessage = '';
  console.log(cleanAmount)
  if (cleanAmount < 5000) {
    validationMessage = 'Please enter an amount greater than $5,000.00';
    return false;
  } else if (cleanAmount > 500000) {
    validationMessage = 'Please enter an amount less than $500,000.00';
    return false;
  } else {
    return true;
  };
}, function(){return validationMessage;});