Страница 1 из 1

Как в правилах модели в 'message' вставить текущее значение?

Добавлено: 2017.03.20, 01:25
Driver86

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

            [
                ['name'],
                'unique',
                'targetAttribute' => ['name', 'zone'],
                'message' => 'тут как быть????',
            ],
надо сообщение вида "{nameValue}.{zoneValue} уже занято."

Re: Как в правилах модели в 'message' вставить текущее значение?

Добавлено: 2017.03.20, 01:33
rak
судя по всему никак
https://github.com/yiisoft/yii2/blob/ma ... r.php#L280
ну точнее стандартными средствами никак
можно сделать инлайновый валидатор и там уже добавлять любые ошибки

Re: Как в правилах модели в 'message' вставить текущее значение?

Добавлено: 2017.03.20, 09:00
Alexum
comboNotUnique для 2.0.9

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

 [
                ['name'],
                'unique',
                'targetAttribute' => ['name', 'zone'],
                'comboNotUnique' => 'В системе уже есть значения {values} атрибутов {attributes}',
            ],
Для 2.0.10 и старше

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

 [
                ['name'],
                'unique',
                'targetAttribute' => ['name', 'zone'],
                'message' => 'В системе уже есть значения {values} атрибутов {attributes}',
            ],
{values} - значения через "-", {attributes} - labels атрибутов через запятую

Re: Как в правилах модели в 'message' вставить текущее значение?

Добавлено: 2017.03.20, 09:13
Krash
Alexum писал(а): 2017.03.20, 09:00 Сейчас для вашего случая есть comboNotUnique (c 2.0.9), но с 2.1 вроде как всё будет в message.
Мне кажется, вопрос именно в отображении. {values} Выводит value1-value2 , а как вывести value1.value2 ?

Re: Как в правилах модели в 'message' вставить текущее значение?

Добавлено: 2017.03.20, 09:22
Alexum
Krash писал(а): 2017.03.20, 09:13 Мне кажется, вопрос именно в отображении. {values} Выводит value1-value2 , а как вывести value1.value2 ?
Не обратил внимания. Тогда остаётся только вариант своего валидатора, как rak подметил.