Почему CFormModel::validate требует tableName?

Предварительное обсуждение найденных ошибок перед отправкой их авторам фреймворка, а также внесение новых предложений.
Ответить
frops
Сообщения: 10
Зарегистрирован: 2013.06.20, 20:53
Откуда: Мурманск

Почему CFormModel::validate требует tableName?

Сообщение frops »

Я имею ChangeEmailForm extends CFormModel:

Код модели (формы): http://ideone.com/lIImQ9

Также код контроллера ProfileController: http://ideone.com/JHAFaG

И представление: http://ideone.com/U4TV8V

Моя проблема: : После сабмита формы, сайт выдает исключение: ChangeEmailForm and its behaviors do not have a method or closure named "tableName".

Вопрос: ПочемуCFromModel выбрасывает это исключение? Почему в LoginForm (пример из офф.документации), а именно в SiteController все нормально?

p.s. Простите, я новичок в Yii.
Аватара пользователя
lancecoder
Сообщения: 2532
Зарегистрирован: 2012.06.26, 17:16

Re: Почему CFormModel::validate требует tableName?

Сообщение lancecoder »

модель User имеет этот метод? а вообще включите дебак, чтобы видет колстек
frops
Сообщения: 10
Зарегистрирован: 2013.06.20, 20:53
Откуда: Мурманск

Re: Почему CFormModel::validate требует tableName?

Сообщение frops »

lancecoder писал(а):модель User имеет этот метод? а вообще включите дебак, чтобы видет колстек
Какой метод? validate()? Дык, этот метод я вызываю не у User, а у ChangeFormModel получается.
frops
Сообщения: 10
Зарегистрирован: 2013.06.20, 20:53
Откуда: Мурманск

Re: Почему CFormModel::validate требует tableName?

Сообщение frops »

Вот:
Изображение

И вот:
Изображение
rak
Сообщения: 2181
Зарегистрирован: 2010.11.02, 23:40
Контактная информация:

Re: Почему CFormModel::validate требует tableName?

Сообщение rak »

потому что вместо

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

array('newemail', 'unique', 'attributeName'=>'User.email'),
 
нужно

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

array('newemail', 'unique', 'className' => 'User', 'attributeName'=>'email'),
Ответить