Подскажите, работая с каптчей заметил такой момент.
Если вставлять капту в представлении как виджет:
Код: Выделить всё
<?if(extension_loaded('gd')):?>
<?=CHtml::activeLabelEx($model, 'capt')?>
<?$this->widget('CCaptcha')?>
<?=CHtml::activeTextField($model, 'capt')?>
<?endif?>
то все нормально, все работает, при этом при неверном вводе любого поля в форме (т.е. если какое-то поле в форме не прошло валидацию) каптчи остается прежней (это удобно), но вот текст из поля каптчи пропадает, т.е. нужно вводить повторно (что неудобно).
Если в модель формы к полю каптчи поместить правило валидации:
то все становится нормально, т.е. при вводе каптчи в текстовое поле она сохраняется и повторно его вводить не нужно, но при таком использовании если форма не проходит валидацию несколько раз, то каптча меняется (создается новой) и ее нужно вводить уже новую.
Вопрос: как совместить эти два способа, чтобы в поле оставалась надпись, но при этом каптча не менялась - или я что-то неверно делаю?