jQuery验证插件 - 部分验证取决于触发器

时间:2010-09-02 10:09:04

标签: javascript jquery jquery-plugins validation jquery-validate

我正在使用jQuery验证插件,我想验证浮点数并将其格式化为指定的小数位数。

我正在使用

element.value = parseFloat(value).toFixed(param);

如果它确实是一个有效的浮点值,则格式化浮点值,我只想在模糊时执行此操作,而不是在keyup上执行此操作,因为这会产生奇怪的结果。但是我想验证keyup上的输入。

我想我正在寻找的基本上是

if( validation was triggered by blur )
{
    element.value = parseFloat(value).toFixed(param);
}

1 个答案:

答案 0 :(得分:0)

jQuery验证插件不允许你混合这样的规则(我可能错了,可能有一个选项可以做到这一点,但这个问题很容易在没有它的情况下解决。)

首先,keyup验证:

$('#float').keyup(function(){
  if(!/[-+]?[0-9]*\.?[0-9]+/.test(this.value)){
    // Do something about the error
  }
});

您可能想要回滚编辑或显示错误消息,无论如何。现在,在blur

$('#float').blur(function(){
  var input = this.value;

  if(/[-+]?[0-9]*\.?[0-9]+/.test(input)){
    this.value = parseFloat(input).toFixed(param);
  }
});

那里,简单。

注意:来自http://www.regular-expressions.info/floatingpoint.html

的正则表达式