CActiveForm ошибка валидации

Предварительное обсуждение найденных ошибок перед отправкой их авторам фреймворка, а также внесение новых предложений.
Ответить
gregori
Сообщения: 1
Зарегистрирован: 2010.11.02, 19:21

CActiveForm ошибка валидации

Сообщение gregori »

Пример правильного поля формы:
<input type="text" value="Model 2041" id="Goods_name" name="Goods[name]">

Меняем имя поля:
<input type="text" value="Model 2041" id="Goods_name" name="Goods[name][generation_err]">

Сабмитим форму и получаем:

Код: Выделить всё

PHP Error
Описание

htmlspecialchars() expects parameter 1 to be string, array given
Исходный код
C:\Local\yii\framework\web\helpers\CHtml.php(66) 
Может имеет смысл явно приводить значение к строковому типу, чтобы такой ошибки не могло возникнуть ?

Тоже самое при валидации данных. Опять таки модифицируем имя поля:
<input type="text" value="Model 2041" maxlength="255" id="Goods_name" name="Goods[name][generation_err]">
Здесь атрибут maxlength указывает на то, что в правилах валидации указано ограничение на длину поля.

Сабмитим и получаем похожую ошибку:

Код: Выделить всё

PHP Error
Описание

strlen() expects parameter 1 to be string, array given
Исходный код

C:\Local\yii\framework\validators\CStringValidator.php(72) 
На сайте http://yiiframework.com/ посмотрел список сайтов сделанных на yii, среди них нашёл один http://globalcasting.com.ua/join, который в описанной ситуации не генерит ошибку, а возвращает форму. Как мне кажется, это более правильно, чем показывать не обработанную ошибку.
Ответить