jQuery空字段验证只检查第一次出现?

时间:2012-04-30 19:06:48

标签: jquery forms validation

我有以下验证码,如果第一个文字输入或菜单留空,它会正确地突出显示我表格中的所有问题区域。

但是,如果您填写第一个文本输入并从第一个选择框中选择,则此验证可让您错误地传递。

我已经包含了我的jquery来搜索空文本字段并选择菜单..但是如果我需要粘贴整个文件,请告诉我。

// create error flag
var error = 0;

// check required text fields for empty values, add class 'problem' to cells with inputs that have problems
if (!$('#register-form .required input').val()) {
    $('.required input:text[value=""]').parent().addClass("problem");
    error++;
    console.log('errors: ' + error + '; required text input missing a value.')
}

// check required select menus for default selections, add class 'problem' to cells with select menus that have problems
if (!$('#register-form .required select option:selected').val()) {
    $('.required select option:selected[value=""]').parent().parent().addClass("problem");
    error++;
    console.log('errors: ' + error + '; required select box missing a value.')
}

但如果我满足(仅)第一个文本输入或从一组必需的菜单中选择菜单,则此验证将失败。

我显然需要这个验证来检查每个文本输入和每个单元格内部的类.required

1 个答案:

答案 0 :(得分:0)

$('#register-form .required').each(function() {

  var $input = $('input[type="text"]', this),
      $select = $('select', this);

  if(!$.trim($input.val())) {
     $input.parent().addClass("problem");
      error++;
      console.log('errors: ' + error + '; required text input missing a value.')

  }

  if(!$select.val()) {
      $select.parent().parent().addClass("problem");
      error++;
      console.log('errors: ' + error + '; required select box missing a value.'
  }

});
相关问题