如何在提交前验证表单

时间:2011-11-28 06:20:00

标签: jquery validation

我想在提交form之前检查某些字段的验证。

<form method="post" action="test.do">
  <input type="file" id="file1" />
  <input type="file" id="file2" />
  <input type="file" id="file3" />

  <input type="button" id="submitButton" />
</form>

我只想检查id = file2 & file3的验证。它不应该留空。

$("#submitButton").click(function() {
     if(validate()){
        $(this).closest("form").submit();
    }
   });

function validate() {
    /*  if blank return false else true */
  how to validate here ??
}

* 注意:* 由于我要检查数百个字段,因此使用id进行验证会非常冗长。

还有其他方法可以检查吗?

6 个答案:

答案 0 :(得分:3)

我会在验证字段中添加一个class属性:

<input type="file" id="file2" class="validate" />
<input type="file" id="file3" class="validate" />

然后使用jQuery选择器进行一些验证:$('。validate')

$('.validate').each(function(){
     if($(this).val() == ''){
          return false; 
     }
 });

答案 1 :(得分:1)

var valid = true;
$('input[type=file]').each(function()
    { if ($(this).val() == '') valid = false; }
);
return valid;

除了v​​al()==''你可能需要做一个不同的检查。我没试过。

答案 2 :(得分:1)

你可以这样尝试

function validate() 
{   
    if(!$('#file2').val() && !$('#file1').val())
    {
        alert('please select file 1 and file2');
    }
}

答案 3 :(得分:1)

如果您尝试验证空输入字段,为什么不使用:

 $(':input').each(function(){
     if($(this).val() <= ""){
          return false; 
     }
 });

答案 4 :(得分:1)

数百个领域?

好吧,因为你正在使用jQuery,我建议使用jQuery validation plugin

文档非常全面,除了向<input>s添加类之外,该插件还可以轻松检查多个字段,几乎不需要任何设置。

如果您想了解更多细节,该插件还允许您为每个字段编写自定义错误消息 - 但这有点超出了问题的范围。

答案 5 :(得分:0)

给id =&#34;表格&#34;形成。

function validate() {
    var validator = $("#form").validate();
    var isValid = validator.form();
    return isValid;
}