Javascript验证了很多字段

时间:2011-07-25 19:50:26

标签: javascript jquery

我正在尝试通过javascript / jQuery进行多次验证。我需要知道我可以使用什么样的逻辑。

我有大约15个字段需要验证。我在想是否可以使用返回值true或false来验证每个字段。然后我会检查是否有任何返回值为false。如果是,则表单未经验证。这有道理吗?

或者我是否必须经历一组if else嵌套条件,对于一个又一个字段?

PS:我不想使用jQuery validate插件,因为我的表单中很少有复杂的内容。

让我知道你认为我应该怎么做。

感谢。

4 个答案:

答案 0 :(得分:1)

是的,这是你可以做到的一种方式,但显然你必须在某种数据结构中包含你的结果。您可以拥有一个key->值的对象,其中key是您要验证的字段的id,然后根据您的验证值为true或false。然后只需遍历您的对象并检查错误值!

答案 1 :(得分:0)

我会添加一个css类,然后

$('.required').each(function (i) {

});

答案 2 :(得分:0)

您可以像对象一样使用错误哈希。

$('#target').submit(function (e) {
  var errors = {};

  //No field should be blank
  $('.required').each(function () {
    if (!$.trim($(this).val())) errors[$(this).prev('label').text()] = 'is blank';
  });
  //Don't submit form on errors
  //Show errors
  if (!jQuery.isEmptyObject(errors)) {
    $('.error').show().html("<p>Form couldn't be submitted because:</p>");
    $('.error').append(
    $.map(errors, function (type, error) {
      return $('<p>', {
        text: error + '  ' + type
      }).get();
    }));
    // Prevent the form from being submitted
    return false;
  }
  $('.error').hide();
});

Customary jsFiddle link

答案 3 :(得分:0)

这是一个无耻的插件,但你试过regula吗?我正在积极开发它,我知道至少另一个人正在使用它(是的!)。它可能会解决您的一些并发症。此外,如果你可以用你的复杂情况更新你的问题,我可以告诉你如何在常规中做到这一点。它将使您免于编写自己的验证。

regular还将其验证结果作为一组约束违规返回,因此您可以看到哪个元素验证失败(等等)。

如果您有兴趣,

This answer会提供有关监管功能的更多信息。