2012-08-31 41 views
0

我使用Jquery validate plugin来验证表单。使用jQuery验证动态字段的形式

我填我的形式动态地使用PHP。例如:

<form name="my_form" id="my_form"> 
    <label for="static_field_1">Insert static field 1</label> 
    <input type="text" name="static_field_1" id="static_field_1"/> 
    <label for="static_field_2">Insert static field 2</label> 
    <input type="text" name="static_field_2" id="static_field_2" /> 

    <?php 
     $no_dynamic_field = count($dynamic_fields_array); 
     if($no_dynamic_field>0){ 
     for($i=0;$i<$no_dynamic_field;$i++){ 
    ?> 
     <label for="dynamic_field_<?php echo $i;?>">Insert field <?php echo $dynamic_fields_array[$i];?></label> 
     <input type="text" name="dynamic_field_<?php echo $i;?>" id="dynamic_field_<?php echo $i;?>" /> 
    <?php 
     } 
     } 
    ?> 
</form> 

我要验证这种形式..所以对于静态字段没有问题:

$('#my_form').validate({ 
    rules: { 
     static_field_1:"required", 
     static_field_2:"required" 
    }, 
    messages:{ 
     static_field_1:"Static field 1 required!", 
     static_field_2:"Static field 2 required!", 
    } 
}); 

却怎么也我通过动态字段来验证它们?

感谢大家!

回答

2

你可以使用:

$(document).ready(function(){ 
    $('#my_form').validate(); 
}); 

,并把class='required'每input.So你的代码将是:

<form name="my_form" id="my_form"> 
    <label for="static_field_1">Insert static field 1</label> 
    <input type="text" name="static_field_1" id="static_field_1" class='required'/> 
    <label for="static_field_2">Insert static field 2</label> 
    <input type="text" name="static_field_2" id="static_field_2" class='required'/> 

    <?php if(count($dynamic_fields_array)>0) 
     for($i=0;$i<count($dynamic_fields_array);$i++){ 
    ?> 
     <label for="dynamic_field_<?php echo $i;?>">Insert field <?php echo $dynamic_fields_array[$i];?></label> 
     <input type="text" name="dynamic_field_<?php echo $i;?>" id="dynamic_field_<?php echo $i;?>" class='required'/> 
    <?php 
     } 
    ?> 
    <?php }?> 
</form> 
+0

什么消息? – JackTurky

+0

如果未指定消息,默认情况下消息是:“此字段是必需的。”, –

+0

如果我想更改它? – JackTurky