Jquery-Validation检查两个文本框

时间:2012-03-13 05:32:16

标签: jquery

function validate()
    {
     var textbox= $("#inputtextbox").val();
     var match = /^([a-zA-Z0-9]{1,})$/;
     if(!match.test(textbox)) {
     $("#dataError").text('Min 1 alpha numeric characters and space allowed.').fadeOut(5000);
    return false;
    }

var textbox= $("#inputtextbox").val();
     var match = /^([a-zA-Z0-9]{1,})$/;
     if(!match.test(textbox)) {
     $("#dataErr").text('Min 1 alpha numeric characters and space allowed.').fadeOut(5000);
    return false;
    }
}

我有一个表单和两个文本框。我正在验证两个文本框。然后,当我没有填写两个文本框并单击提交按钮时,它只打印第一个文本框的错误消息。 当我在第一个文本框中正确填写所有内容并且我没有填写第二个文本中的任何内容时,现在如果我提交,它显示第二个文本框的错误消息,为什么它没有显示消息,当两个都没有填充。 / p>

提前致谢!

2 个答案:

答案 0 :(得分:2)

两个验证都引用了相同的jquery对象$(“#dataError”),因此,它只能显示一条错误消息,因为只有数据错误框。

如果要同时显示两者,则需要创建第二个数据错误框。

答案 1 :(得分:1)

试试这个

<input id="box_1" class="textbox" value="" />
<span></span>

<input id="box_2" class="textbox" value="" />
<span></span>

$('#form').submit(function(){

var valid = validate();

if(valid)
{
   //do submit
}

});


function validate()
    {

     var result = true;

     $('.textbox').each(function(){

     var textbox= $(this).val();

     var text_id = $(this).attr('id');

     if(text_id = 'box_1')
     {
         var match = /^([a-zA-Z0-9]{1,})$/;   
     }
     else if(text_id = 'box_2')
     {
         var match = /^([a-zA-Z0-9]{1,})$/;   
     }

     if(!match.test(textbox)) {
        $(this).next('span').text('Min 1 alpha numeric characters and space allowed.').fadeOut(5000);
        result = false;
        }
    });

return result;

    }

<强>更新

function validate()
    {

     var valid = true ;

     var textbox= $("#inputtextbox_1").val();
     var match = /^([a-zA-Z0-9]{1,})$/;
     if(!match.test(textbox)) {
     $("#dataError_1").text('Min 1 alpha numeric characters and space allowed.').fadeOut(5000);
    valid  = false;
    }

var textbox= $("#inputtextbox_2").val();
     var match = /^([a-zA-Z0-9]{1,})$/;
     if(!match.test(textbox)) {
     $("#dataErr_2").text('Min 1 alpha numeric characters and space allowed.').fadeOut(5000);
    valid = false;
    }

   return valid;
}