Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Частные случаи можно либо дописывать в JS(на то они и частные), либо (наверное это будет ужасно) писать валидатор в принципе на JS и из руби выполнять JS.Так недолго и до node.js докатиться =)
if(isset($_POST['ajax'])) {
if ($_POST['ajax']=='form') {
echo CActiveForm::validate($model);
}
Yii::app()->end();
}
<?php
$form = $this->beginWidget('CActiveForm', array(
'id'=>'form', //form-id
'enableAjaxValidation'=>true,
'clientOptions'=>array(
'validateOnSubmit'=>true,
),
));
?>
public function actionCreate()
{
$model=new User;
if(isset($_POST['ajax']) && $_POST['ajax']==='user-form')
{
echo CActiveForm::validate($model);
Yii::app()->end();
}
......
}
www.yiiframework.com/doc/api/1.1/CActiveForm#enableAjaxValidation-detailenableClientValidation (который выключен в примере с SO, на который вы сослались ниже). Несмотря на скудную документацию, похоже, что оно должно работать в простейших случаях (как, например, gem client_side_validations для rails «из коробки»).
Rails: ajax-валидация в стиле DRY