2014-01-30 6 views
3

Я хочу, чтобы set successCssClass и errorCssClass вводили все формы в Yii. Как я могу это сделать.Установить successCssClass и errorCssClass для всех входных данных по умолчанию

+0

Этот вопрос непонятен. Вы хотите изменить имя классов css для успеха и ошибки или хотите по умолчанию установить все входы для успешных и/или классов ошибок? – topher

+0

Почему бы вам не сфокусироваться на разработке вашего вопроса –

+0

Я хочу изменить название классов для успеха и ошибки, но для всех входов. Теперь я использую bootstrap ui и хочу, чтобы все классы ошибок/успехов всех входов имели ошибку и имели успех. – Felix

ответ

1

К сожалению, значения по умолчанию определены в jquery active form plugin i.e /framework/web/js/jquery.yiiactiveform.js Посмотрите на конец.

Однако, как это было предложено @Michiel, Вы можете расширить CActiveForm н так:

MyActiveForm extends CActiveForm{ 

    public function error($model,$attribute,$htmlOptions=array(),$enableAjaxValidation=true,$enableClientValidation=true) 
    { 
     //my defaults 

     $defaults=array('errorCssClass'=>'myErrorCss', 
     'successCssClass'=>'mySuccessCss', 
     'validatingCssClass'=>'myValidationCss'); 

     $htmlOptions=array_merge($defaults,$htmlOptions); 

     return parent::error($model,$htmlOptions,$enableAjaxValidation,$enableClientValidation); 

    } 
} 

И вы должны использовать новый класс Е.Г.

<?php $form = $this->beginWidget('MyActiveForm', array(
    .. 
    ?> 

Я не вижу лучшего способа прямо сейчас. Либо у вас есть расширение плагина jquery.yiiactiveform, либо CActiveForm.

Смежные вопросы