Php 如何启用客户端验证?

Php 如何启用客户端验证?,php,yii,Php,Yii,到目前为止,我已经在我的视图中的CActiveForm小部件中启用了clientValidation,但该验证仅适用于表单上的第一个模型字段,而不适用于第二个模型中的表格字段。。。如何为其余字段启用它,还是需要编写自己的Javascript?我还想知道,将所有表单代码放在一个页面中,而不是像表格字段的呈现部分这样的做法是否正确 以下是我的更新视图: <?php //Yii::app()->clientScript->registerCoreScript('jquery'); ?

到目前为止,我已经在我的视图中的CActiveForm小部件中启用了clientValidation,但该验证仅适用于表单上的第一个模型字段,而不适用于第二个模型中的表格字段。。。如何为其余字段启用它,还是需要编写自己的Javascript?我还想知道,将所有表单代码放在一个页面中,而不是像表格字段的呈现部分这样的做法是否正确

以下是我的更新视图:

<?php //Yii::app()->clientScript->registerCoreScript('jquery'); ?>
<?php
/* @var $this BookingController */
/* @var $model Booking */
/* @var $bookingRoom BookingRoom */

$this->breadcrumbs=array(
'Bookings'=>array('index'),
$model->id=>array('view','id'=>$model->id),
'Update'
);

$this->menu=array(
array('label'=>'List Booking', 'url'=>array('index')),
array('label'=>'Create Booking', 'url'=>array('create')),
array('label'=>'View Booking', 'url'=>array('view', 'id'=>$model->id)),
array('label'=>'Manage Booking', 'url'=>array('admin'))
);
?>

<h1>Update Booking <?php echo $model->id; ?></h1>

<?php //$this->renderPartial('_form', array('model'=>$model)); ?>

<div class="form">
<button id="btnAdd" type='btnAdd'>Add</button>
<?php $form=$this->beginWidget('CActiveForm', array(
'id'=>'booking-form',
// Please note: When you enable ajax validation, make sure the corresponding
// controller action is handling ajax validation correctly.
// There is a call to performAjaxValidation() commented in generated controller code.
// See class documentation of CActiveForm for details on this.
'enableAjaxValidation'=>false, 'enableClientValidation' => true, 'errorMessageCssClass' => 'error', 'clientOptions'=> array('validateOnSubmit'=>true)

));     ?>

<p class="note">Fields with <span class="required">*</span> are required.</p>

<?php echo $form->errorSummary(array($model)); ?>


<div class="row">
    <?php echo $form->labelEx($model,'customerId'); ?>
    <?php echo $form->textField($model,'customerId'); ?>
    <?php echo $form->error($model,'customerId'); ?>
</div>

<div class="row">
    <?php echo $form->labelEx($model,'date'); ?>
    <?php echo $form->textField($model,'date'); ?>
    <?php echo $form->error($model,'date'); ?>
</div>

    <table id="tblData">
        <tbody>
    <?php foreach($items as $i=>$item): ?>

        <tr>

            <td>
    <div>
    <?php echo $form->labelEx($item,'id'); ?>
    <?php echo $form->textField($item,"[$i]id", array('readonly'=>true)); ?>
    <?php echo $form->error($item,'id'); ?>
</div>
                </td><td>               
            <td>
    <div>
    <?php echo $form->labelEx($item,'bookingId'); ?>
    <?php echo $form->textField($item,"[$i]bookingId", array('readonly'=>true)); ?>
    <?php echo $form->error($item,'bookingId'); ?>
</div>
                </td><td>               

    <div> 
    <?php echo $form->labelEx($item,'roomId'); ?>
    <?php echo $form->dropDownList($item, "[".$i."]roomId", CHtml::listData(
    Room::model()->findAll(), 'id', 'id'), array('single'=>'single', 'size'=>1)
    ); ?>
        <?php echo $form->error($item,'roomId'); ?>

    </div>
            </td><td>
    <div>
    <?php echo $form->labelEx($item,'startDate'); ?>
    <?php echo $form->textField($item,"[$i]startDate"); ?>
    <?php echo $form->error($item,'startDate'); ?>
</div>
                </td><td>
    <div>
    <?php echo $form->labelEx($item,'endDate'); ?>
    <?php echo $form->textField($item,"[$i]endDate"); ?>
    <?php echo $form->error($item,'endDate'); ?>
</div>
    </td><td>
    <div>
    <?php echo $form->labelEx($item,'adults'); ?>
    <?php echo $form->dropDownList($item, "[$i]adults", array('1'=>'1',
                                                                 '2'=>'2',
                                                                 '3'=>'3',
                                                                 '4'=>'4',
                                                                 '5'=>'5'), array('single'=>'single', 'size'=>1)
    ); ?>

    </div>
</td><td>
            <div>
    <?php echo $form->labelEx($item,'children'); ?>
    <?php echo $form->dropDownList($item, "[$i]children", array('0'=>'0',
                                                                 '2'=>'2',
                                                                 '3'=>'3',
                                                                 '4'=>'4',
                                                                 '5'=>'5'), array('single'=>'single', 'size'=>1)
    ); ?>

    </div>
    </td>
    <td>
        <button type='button'>Delete</button>
    </td>
    </tr>
    <?php endforeach; ?>
        </tbody>
    </table>


    <div class="row buttons">
    <?php echo CHtml::submitButton($model->isNewRecord ? 'Create' : 'Save'); ?>
</div>

<?php $this->endWidget(); ?>

</div><!-- form -->

更新预订
添加

带*的字段是必需的

删除
在错误摘要数组中定义第二个模型,如

<?php echo $form->errorSummary(array($model,$item)); ?>
$item->validate();