1

我刚刚创建了一个 renderPartial():

renderPartial('/users/_form', array('model'=>new Users), true, true); ?>

输入的数据未验证的问题。

我错过了什么 ?

4

1 回答 1

0

从您的问题中不清楚您想要验证的确切时间。

如果在客户端,您需要这样的东西:

<?php $form=$this->beginWidget('CActiveForm', array(
  'id'=>'your-form',
  'enableAjaxValidation'=>true,
  'clientOptions' => array(
    'validateOnSubmit'=>true,
  ), 
)); ?> 

在您的控制器中的 post 操作中加上这个: $this->performAjaxValidation($model); 连同一个控制器方法,如:

/** 
 * Performs the AJAX validation.
 * @param CModel the model to be validated
 */
protected function performAjaxValidation($model)
{
  if(isset($_POST['ajax']) && $_POST['ajax']==='saferides-registered-form')
  {   
    echo CActiveForm::validate($model);
    Yii::app()->end();
  }   
}

如果您只想在帖子上进行验证,则可以在处理帖子的控制器操作中使用类似这样的内容:

if ( $model->validate() && $model-save() )
{
  ..redirect to your view
}

另请参阅文档

于 2013-01-25T05:18:20.957 回答