yii2 и обработка полей форміы

109
24 июня 2019, 17:30

столкнулся с проблемой, с yii2 никогда не работал но вот пришлось. Суть в чем на сайте есть формы обратной связи, нужно поставить защиту от спамботов, решили ставить самую простую с использованием скрытого поля.

проблемы начались прям в самом начале работы...

Добавил в форму поле получилось вот так

<form action="/contact/feedback" class="ajax-form" id="call-form" method="post" novalidate="novalidate" role="form">
<input name="type" type="hidden" value="0">
<input name="name" type="text" class="form-control mb10" id="in" placeholder="Ваше имя" required>
<input name="phone" type="tel" class="tel form-control mb10 phone" id="in" placeholder="телефон" required>
<input name="message" value="444" type="hidden">
 <div class="form-row captcha">
                 <?= Captcha::widget([
                 'name' => 'captcha',
                 'imageOptions' => ['width' => 100, 'height' => 30, 'style' => 'float: left; margin-right: 8px;'],
                 'options' => ['placeholder' => 'введите цифры', 'class' => 'form-control', 'style' => 'width: 150px; !important;']
                 ]) ?>
</div>
<button type="submit" class="call-btn">Перезвоните мне</button>
</form>

в файле common\models\Feedback.php пытаюсь добавить это поле в обработчки и сразу же пролема, форма тупо не отправляется... в консоле вижу ошибку 500

Feedback.php

 public function rules()
    {
        return [
            [['type', 'name', 'phone', 'captcha'], 'required'],
            ['type', 'integer'],
            [['comment', 'bank'], 'string'],
            [['name', 'email', 'company'], 'string', 'max' => 200],
            [['phone', 'inn'], 'string', 'max' => 50],
            ['type', 'in', 'range' => [self::TYPE_CALLBACK, self::TYPE_ORDER, self::TYPE_INVOICE]],
            ['captcha', 'captcha']
        ];
    }

сюда в третью строку добавляю переменную и не работает... было

[['comment', 'bank'], 'string'],

стало

[['comment', 'bank', 'message'], 'string'],
Answer 1

Правила валидации в модели указываются для свойств модели, вы же пытаетесь указать правило валидации для несуществующего свойства.

Добавьте в common\models\Feedback.php свойство message:

public $message;
READ ALSO
Динамическая обложка ВК

Динамическая обложка ВК

Здарвсвуйте! Делал динамическую обложку для своего сообществаНО возникла проблема, токен, сегнерированный от самого сообщества, вк апи ни в какую...

110
Unknown table &#39;translated_words&#39; in information_schema

Unknown table 'translated_words' in information_schema

имеется код на PHP, который показывает все содержимое таблицы бд

115
Не срабатывает ЧПУ

Не срабатывает ЧПУ

Почему такой запрос не срабатывает? Мне необходимо организовать ЧПУ, чтобы было переходило с http://testru/?route=rules на test

142