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,
  ), 
)); ?> 

さらに、ポストアクションのコントローラーでこれを実行します:$ this-> performanceAjaxValidation($ 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 に答える