dimvic7
(Dimitris Vic)
December 9, 2011, 3:54pm
1
I really can’t get this working…
<?php $form=$this->beginWidget('CActiveForm', array(
'id'=>'contact-form',
'enableAjaxValidation'=>true,
'enableClientValidation'=>true,
'clientOptions' => array(
'validateOnSubmit'=>true,
'validateOnChange'=>true,
'validateOnType'=>false,
),
'htmlOptions' => array('enctype'=>'multipart/form-data'),
));
validateOnSubmit does not work with ajaxSubmitButton from what I read?
is there a way to validate a form before ajax submit in a clean way?
I looked for a way to trigger form validation manually in javascript, no luck
dudhi
(Rohitduhan)
December 9, 2011, 4:23pm
2
You can’t do form validation in Javascript(technically you can, but you will have to define rules for that ). Using Yii, in javascript you can make an ajax call to controller action and it will validate the results for you. Based, on its response you can either submit form further or just do something else. I believe you can do something similar
ModelName::model()->validate();
within your controller function. Hopefully, that points you in the right direction.
I really can’t get this working…
<?php $form=$this->beginWidget('CActiveForm', array(
'id'=>'contact-form',
'enableAjaxValidation'=>true,
'enableClientValidation'=>true,
'clientOptions' => array(
'validateOnSubmit'=>true,
'validateOnChange'=>true,
'validateOnType'=>false,
),
'htmlOptions' => array('enctype'=>'multipart/form-data'),
));
validateOnSubmit does not work with ajaxSubmitButton from what I read?
is there a way to validate a form before ajax submit in a clean way?
I looked for a way to trigger form validation manually in javascript, no luck
dimvic7
(Dimitris Vic)
December 9, 2011, 4:43pm
3
You can’t do form validation in Javascript(technically you can, but you will have to define rules for that ). Using Yii, in javascript you can make an ajax call to controller action and it will validate the results for you. Based, on its response you can either submit form further or just do something else. I believe you can do something similar
ModelName::model()->validate();
within your controller function. Hopefully, that points you in the right direction.
I can validate in js using
$.fn.yiiactiveform.validate('#contact-form', function(a){console.log(a);}, function(a){console.log(a)});
but this is not what I want because this only returns the results to you as an object, let aside the fact that you can’t do ajax validation (maybe you can, not im my tests) using this unless you hack the jquer.yiiactiveform source
what I want to do is validate the form and have the errors etc appear if there are any, it really surprises me that yii doesn’t do that out of the box, considering the fact that it does supply a Chtml::ajaxSubmitButton
dimvic7
(Dimitris Vic)
December 13, 2011, 8:13am
4
is the best solution using the normal submitButton and submit via AJAX "manually" i guess
Abbatweb
(A Ponom)
July 18, 2012, 4:23pm
5
I can validate in js using
$.fn.yiiactiveform.validate('#contact-form', function(a){console.log(a);}, function(a){console.log(a)});
but this is not what I want because this only returns the results to you as an object, let aside the fact that you can’t do ajax validation (maybe you can, not im my tests) using this unless you hack the jquer.yiiactiveform source
what I want to do is validate the form and have the errors etc appear if there are any, it really surprises me that yii doesn’t do that out of the box, considering the fact that it does supply a Chtml::ajaxSubmitButton
Look at this post
http://www.yiichina.net/forum/index.php/topic/16607-how-to-trigger-form-validation-without-submitting-the-form/page__gopid__162497#entry162497
Hi guys would you like to try my solution here ?
I have solved it in simple steps