Yii CForm,嵌套表单Ajax验证
发布时间:2020-12-13 22:47:46 所属栏目:PHP教程 来源:网络整理
导读:我创建了以下嵌套表单数组; return array( 'elements' = array( 'contact' = array( 'type' = 'form','elements' = array( 'first_name' = array( 'type' = 'text',),'last_name' = array( 'type' = 'text',) ),'lead' = array( 'type' = 'form','elements'
我创建了以下嵌套表单数组;
return array( 'elements' => array( 'contact' => array( 'type' => 'form','elements' => array( 'first_name' => array( 'type' => 'text',),'last_name' => array( 'type' => 'text',) ),'lead' => array( 'type' => 'form','elements' => array( 'primary_skills' => array( 'type' => 'textarea','buttons' => array( 'save-lead' => array( 'type' => 'submit','label' => 'Create','class' => 'btn' ),) ); 我有这样的查看页面 echo $form->renderBegin(); echo $form['lead']; echo $form['contact']; echo $form->buttons['save-lead']; echo $form->renderEnd(); 我的actionCreate是这样的 $form = new CForm('application.views.leads.register'); $form['lead']->model = new Lead; $form['contact']->model = new Contact; // how can i perform ajax validation only for $form['contact'] $this->performAjaxValidation($model); //if contact form save btn is clicked if ($form->submitted('save-lead') && $form['contact']->validate() && $form['lead']->validate() ) { $contact = $form['contact']->model; $lead = $form['lead']->model; if ($contact->save()) { $lead->contact_id = $contact->id; if ($lead->save()) { $this->redirect(array('leads/view','id' => $lead->id)); } } } ajax验证方法是 protected function performAjaxValidation($model) { if (isset($_POST['ajax']) && $_POST['ajax'] === 'contact') { echo CActiveForm::validate($model); Yii::app()->end(); } } 所以我的问题是如何在$form [‘contact’]和$form [‘lead’]元素上单独执行ajax验证? 解决方法
您可以在页面中包含多个表单,但不应嵌套它们. 嵌套表单无效.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |