Почему мой пользовательский метод проверки возвращает сообщение об ошибке в формате массива - PullRequest
0 голосов
/ 24 октября 2018

Это мой пользовательский метод проверки:

    $validator
        ->notEmpty('postcode', 'Postcode should not be empty')
        ->add('postcode', [
            'postcode_valid'=> [
                'provider' => 'table',
                'rule' => 'validatePostcode',
                'message' => 'Bitte geben Sie eine gültige Postleitzahl ein',
            ]
        ]);

Если в поле почтового индекса введены недопустимые данные, метод таблицы errors() вернет массив, подобный этому:

Array
(
[address] => Array
    (
        [postcode] => Array
            (
                [postcode_valid] => Bitte geben Sie eine gültige Postleitzahl ein
            )

    )
)

Почему существует дополнительный массив?Все остальные сообщения об ошибках валидации являются только строками.Могу ли я изменить свой метод проверки, чтобы он возвращал только строку?

1 Ответ

0 голосов
/ 27 октября 2018

Ошибка проверки была создана не основной моделью, а связанной моделью, и поэтому в ней был еще один упаковочный массив с именем модели в качестве ключа.

(В моем примере это форма регистрации. Основная модель - user, а некоторые поля формы принадлежат связанной модели address. Одно из этих полей создало ошибку проверки).

...