脚本宝典收集整理的这篇文章主要介绍了Yii CForm,嵌套表单Ajax验证,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
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验证?
以上是脚本宝典为你收集整理的Yii CForm,嵌套表单Ajax验证全部内容,希望文章能够帮你解决Yii CForm,嵌套表单Ajax验证所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。