@prokopov-vi

Как задать свое сообщение для не правильного ввода данных в поле формы yii2?

Использую формы yii2 для получения данных от пользователя!

Нужно для каждого поля ввода формы, сделать собственный вывод об не правильно введенных данных.

Класс модели выглядит так:
<?php


namespace app\models;


use yii\base\Model;

class MyForms extends Model{

    public $name;
    public $email ;

    public function rules() {
        return [
           [['name' , 'email'], 'required', 'message' => 'имя не введено'],
            [['name' , 'email'], 'trim'],
            ['email', 'email', 'message'=> 'введите адрес']

        ];
    }

   public function attributeLabels(){
        return [

            'name' => 'Ваше ім’я',
            'email' => 'Електронна пошта',

        ];
    }

    public function getErrors($attribute = null)
    {
        return [
            'name' => ['не введенное имя'],
            'email' => ['не правильный адрес'],

        ];
    }


}


Но почему то отображается сообщение переданное для name! И getErrors я так понял за это тоже не отвечает!

Прошу помощи новичку в yii ))

Как это правильно реализовать ?
  • Вопрос задан
  • 262 просмотра
Решения вопроса 1
webinar
@webinar Куратор тега Yii
Учим yii: https://youtu.be/-WRMlGHLgRg
за вывод сообщения отвечает message
если для каждого отдельно то не так, как у Вас
[['name' , 'email'], 'required', 'message' => 'имя не введено'],

а так
[['name'], 'required', 'message' => 'имя не введено'],
[['email'], 'required', 'message' => 'email не введен'],

а вот это
['email', 'email', 'message'=> 'введите адрес']
отвечает не за обязательность email, а за соответствие шаблону, наличие собаки и т.д.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы