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

时间:2015-03-17 20:37:45

标签: javascript jquery validation

我编写了一个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);

1 个答案:

答案 0 :(得分:1)

在功能范围之外声明var validationMessage,并在每次将值设置为var时删除validationMessage

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;});