Код: Выделить всё
$form = $this->beginWidget('BootActiveForm', array(
'id'=>'order-form',
'action'=>Yii::app()->createUrl('url'),
'type'=>BootActiveForm::TYPE_VERTICAL,
'enableAjaxValidation'=>true,
'enableClientValidation'=>true,
'clientOptions'=>array(
'validateOnSubmit'=>true,
'validateOnType'=>false,
'validateOnChange'=>false,
'beforeValidate'=>'js:function(form,data){
$("#wait-modal").modal("show");
return true;
}',
'afterValidate'=>'js:function(form,data){
$("#"+form.attr("id")+" .help-inline").removeAttr("style");
$("#wait-modal").modal("hide");
return true;
}'
)
));
echo $form->textFieldRow($model, 'last_name');
echo $form->textFieldRow($model, 'first_name');
echo $form->textFieldRow($model, 'middle_name');
echo $form->textFieldRow($model, 'phone');
echo CHtml::submitButton('Отправить', array('class'=>'btn')); ?>
$this->endWidget();
В результате выводит label, строкой ниже поле. И в целом меня это устраивает.
Но при валидации поля начинается говнище. Весь див, в котором находится форма, обрамляется красной рамкой со своими полями и отступами, в результате чего едет верстка. Сам див закрашивается в розоватый цвет, а под каждым полем, не прошедшим валидацию, появляется сообщение об ошибке, тем самым растягивая форму в высоту. Выглядит по уродски.
Мне нужно, чтоб размер дива не менялся, ни в высоту, ни в длину.
Рамки и окраска дива тоже не нужны.
Покраситься и обрести рамку красного цвета должно поле, не прошедшее валидацию
А сообщения об ошибке лучше разместить вместо label`а, тем же шрифтом и размером, но красным цветом.
Подскажите, как это реализовать?