ошибка обработки CFormModel

Темы, не касающиеся фреймворка, но относящиеся к программированию в целом.
Ответить
Аватара пользователя
lancecoder
Сообщения: 2532
Зарегистрирован: 2012.06.26, 17:16

ошибка обработки CFormModel

Сообщение lancecoder »

Подскажите, вот у меня есть фронт и бек енды

все они работаю через одну модель формы, но в первом случае все проходит удачно, а во втором вылетает ошибка

Failed to set unsafe attribute "rememberMe" of "UserForm"

это происходит при безопасном присваивании атрибутов
причем в исходном коде я нарыл что эта ошибка возникает при безопасном присваивании. Весь мозг уже сломал :ugeek:
Аватара пользователя
lancecoder
Сообщения: 2532
Зарегистрирован: 2012.06.26, 17:16

Re: ошибка обработки CFormModel

Сообщение lancecoder »

...
if(isset($_POST['UserForm']))
{
$model->attributes=$_POST['UserForm']; // Вот на этой строке возникает ошибка при авторизации в бекэнд
if($model->validate('login')){
...

пс, шаблоны формы разные, но код содержат один в один (еще не делал дизайн)
пс2, прописал еще что rememberMe boolean
Аватара пользователя
anton44eg
Сообщения: 2716
Зарегистрирован: 2012.01.25, 13:37
Откуда: Киев

Re: ошибка обработки CFormModel

Сообщение anton44eg »

а почему вы валидируете только 1 поле?
Аватара пользователя
lancecoder
Сообщения: 2532
Зарегистрирован: 2012.06.26, 17:16

Re: ошибка обработки CFormModel

Сообщение lancecoder »

валидация происходит по 3 полям, логин, пароль, запомнить, но ошибка только запомнить, где то в мануале видел что в правилах модели пишут safe и unsafe, копать наверно надо сюда, только я так и не понял что они делают
Последний раз редактировалось lancecoder 2012.06.26, 18:20, всего редактировалось 1 раз.
Аватара пользователя
lancecoder
Сообщения: 2532
Зарегистрирован: 2012.06.26, 17:16

Re: ошибка обработки CFormModel

Сообщение lancecoder »

anton44eg писал(а):а почему вы валидируете только 1 поле?
а, вы про это наверное - if($model->validate('login')){
это сценарий валидации

причем если я пишу вот так

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

foreach($_POST['UserForm'] as $k=>$v){
      $model->{$k}=$v;
} 
то ошибки не возникает
Аватара пользователя
lancecoder
Сообщения: 2532
Зарегистрирован: 2012.06.26, 17:16

Re: ошибка обработки CFormModel

Сообщение lancecoder »

а все извините это я затупил, там мой косяк был с капчей, дело в том что бэкенд и фронтэнд контроллеры наследуют разные классы, в бэкенде доступ был только на логин для всех а далее только админ и он резал капчу
помогло решить проблему
var_export($model->getErrors());
Аватара пользователя
anton44eg
Сообщения: 2716
Зарегистрирован: 2012.01.25, 13:37
Откуда: Киев

Re: ошибка обработки CFormModel

Сообщение anton44eg »

в validate() указываются поля, которые нужно валидировать. Сценарии либо при создании модели new Model('scenario'), либо как свойство $model->scenario
Аватара пользователя
lancecoder
Сообщения: 2532
Зарегистрирован: 2012.06.26, 17:16

Re: ошибка обработки CFormModel

Сообщение lancecoder »

вот тут я с вами пожалуй не соглашусь, а за помощь спасибо :) есть еще один вопрос, но для этого создам другую ветку

сори, вы были правы :) посмотрел исходники cmodel
Ответить