如何使用许多规则验证自定义输入

时间:2009-11-10 18:28:57

标签: jquery validation

var rules = "Numeric - percentage Informational";

如何根据上述条件验证输入?

我是否使用数组,如果是,我该如何使用它?拆分规则或使用jQuery Contains?

我有类似上面的规则来验证我的输入。
上述规则将确保输入是数字和百分比。信息意味着它可以具有诸如“NA”之类的值。

所以,我正在考虑每个输入我在允许的验证列表(数字 - 百分比信息)下,并确定输入是否正确。

寻找建议和样本。

2 个答案:

答案 0 :(得分:1)

我认为这是一个可能的解决方案:

HTML:

<form id="myForm">
    <input name="newsletter" class="rule-Numeric-Informational test" />
    <input name="milkman" class="test" />
    <input name="newsboy" class="test rule-Numeric-Informational" />
</form>

Javascript:

// on submit event
var ok = true;
$("input[class*='rule-']", $("#myForm")).each(function()
{
  var classs = $(this).attr("class").split(" ");
  var rules = new Array;
  for (var ind in classs)
  {
    if (classs[ind].indexOf("rule-")==0)
    {
       rules = classs[ind].substr(4).split("-");
       break;
    }
  }

  var value = $(this).val();
  for (var indr in rules)
  {
    if (rules[indr]=="Numeric")
    {
      //if not check for this rule
      ok = false;
      alert("Numeric " + value);
      break;
    }
    if (rules[indr]=="Informational")
    {
      //if not check for this rule
      ok = false;
      alert("Informational " + value);
      break;
    }
    //.. other rules
  }

});

答案 1 :(得分:0)

有一个非常好的表单验证器插件。看看http://www.position-relative.net/creation/formValidator/如果使用它不适合你,那么看看代码。它是 非常好,并有所有的钩子来制作不同的验证器。