Как проверить пользовательский ввод со многими правилами - PullRequest
0 голосов
/ 10 ноября 2009
var rules = "Numeric - percentage Informational";

Как проверить входные данные на основе вышеуказанных критериев?

Использую ли я массив, если да, то как мне его использовать? Разделить правила или использовать jQuery Contains?

У меня есть похожие правила, как приведенные выше, для проверки моих входных данных.
Приведенные выше правила обеспечат ввод чисел и процентов. Информационный означает, что он может иметь такие значения, как «NA».

Итак, я думаю, что для каждого ввода я иду вниз по списку разрешенных проверок (Числовой - процентная информация) и определяю, является ли ввод правильным.

Ищем предложения и образцы.

Ответы [ 2 ]

1 голос
/ 10 ноября 2009

Я думаю, что это было бы возможным решением:

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
  }

});
0 голосов
/ 18 ноября 2009

Есть очень хороший плагин проверки формы. Взгляните на http://www.position -relative.net / creation / formValidator / Если его использование вам не подходит, посмотрите на код. это очень хорошо и имеет все зацепки для создания другого валидатора.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...