我使用Jquery validate plugin来验证表单。
我使用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!",
}
});
但我如何循环通过动态字段来验证它们呢?
感谢大家!
答案 0 :(得分:2)
你可以使用:
$(document).ready(function(){
$('#my_form').validate();
});
并将class='required'
放在每个输入上。所以您的代码将是:
<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>