0

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!",
   }
});

しかし、動的フィールドをループしてそれらを検証するにはどうすればよいですか?

みんなに感謝!

4

1 に答える 1

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>
于 2012-08-31T08:32:23.363 に答える