これをrenderPartial()で作成しました:
renderPartial('/users/_form', array('model'=>new Users), true, true); ?>入力されたデータが検証されないという問題。
私は何か見落としてますか ?
これをrenderPartial()で作成しました:
renderPartial('/users/_form', array('model'=>new Users), true, true); ?>入力されたデータが検証されないという問題。
私は何か見落としてますか ?
いつ検証したいかは、質問からは明確ではありません。
クライアント側で次のようなものが必要な場合:
<?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
}
ドキュメントも参照してください