Здравствуйте опять) Всем добра! В общем вот такая загвоздка( Пишу регистрацию пользователей. и сразу же наткнулся на вот такую лажу. При отправке данных с формы они не проходят валидацию. Вот модель: PHP: <? namespace app\models; use yii\base\Model; /** * */ class SignupForm extends Model { public $username; public $password; public function rules() { return [ [['username', 'password'], 'required'], ]; } public function attributeLabels() { return [ 'username' => 'login', 'password' => 'Password', ]; } } Вот акшон контроллера: PHP: public function actionSignup() { if (!Yii::$app->user->isGuest) { return $this->goHome(); } $model = new SignupForm(); if($model->load(Yii::$app->request->post()) && $modal->validate()){ $user = new User; $user->username = $model->username; $user->password = \Yii::$app->security->generatePasswordHash($model->password); if($user->save()){ Yii::$app->user->login($user); return $this->goHome(); } } return $this->render('signup', compact('model')); } Вот вьюха формы: PHP: <? use yii\helpers\Html; use yii\bootstrap4\ActiveForm; ?> <div class="row"> <div class="col-gl-4 mx-auto"> <? $form = ActiveForm::begin(); ?> <?= $form->field($model, 'username'); ?> <?= $form->field($model, 'password')->passwordInput(); ?> <div class="form-group"> <div class="col-lg-offset-1 col-lg-11"> <?= Html::submitButton('Singup', ['class' => 'btn btn-primary', 'name' => 'login-button']) ?> </div> </div> <? ActiveForm::end(); ?> </div> </div> И вот гребаная ошибка(((( Call to a member function validate() on null и указывает на строку, где fi с валидацией. Подскажите пожалуйста, что не так?(
Где ты вот такое нарыл? PHP: <? $form = ActiveForm::begin(); ?> https://yiiframework.com.ua/ru/doc/guide/2/start-forms/ Найди ошибку в одной букве: PHP: if($model->load(Yii::$app->request->post()) && $modal->validate()){
Тут - А материться тут можно? Весь день блин!!!!!!!! Я весь день потратил из за этой ?*№(?) буквы!! (((((((((((((((((( !!!!!!! Спасибо!
Есть официальная документация. Если он изучает какую то тему, ищи это же в документации. Не надо за ним печатать. --- Добавлено --- Я эти видео смотрел. https://yiiframework.com.ua/ru/doc/guide/2/start-installation/ Справа менюшка, он зачитывает что там и типо сам печатает. --- Добавлено --- Если будешь искать более подробно, то сюда: https://www.yiiframework.com/doc/guide/2.0/ru
Я ее пытаюсь ковырять, но там пишут очень специфическим языком( Я плохо понимаю, что они хотят сказать. Вообще согласен, там материал подается очень хорошо, но для таких нубасин как я, это все же сложнее, чем воспринимать вот таких вот типов. Потому и смотрю их, пытаясь вообще хоть чуть чуть понять, что блин происходит. Я начал вникать в эту тему всего пару месяцев назад. --- Добавлено --- Теперь у меня в таблицу добавляются одни NULL
Оххх... У меня сейчас сайт в работе. С его локальной версией я работаю в VSCode, а есть еще совсем черновая болванка, на которой я эксперименты провожу... Вот ее я мучаю тупо в Саблайне. То есть я сначала прописываю функционал и довожу до ума на болванке, потом это переношу на локальный сайт, там адаптирую, и уже потом файлзиллой выкладываю готовый код на тестовый домен хостинга, где клиент посмотреть может... Я все перепробовал, но ВСКод как-то больше всего понравился. Он бесплатный хотя бы. И не такой громоздкий.
Ну XDebug можно настроить и в VSCode, и даже в сублайне. Я обоими не пользуюсь, но знаю. Я горячий пропагандист отладчиков. Если что-то непонятно работает, надо смотреть вживую, что там в переменных
Полностью согласен) Но можно использовать: echo '<pre>'; var_damp($var); echo '</pre>'; На счет XDebug я слышал, но пока не использовал ни разу, так что не могу сказать, что мне больше понравится. Сейчас нет времени разбираться с установками. Сдам сайт, там обязательно погляжу.