Приоритетный порядок проверки между несколькими полями? - PullRequest
0 голосов
/ 09 мая 2019

У меня есть два поля, Car 1' and 'Car 2.Я хочу, чтобы в форме сначала требовалось Car 1, но если это не так, я хочу заполнить Car 2. В основном, один из них должен быть заполнен, но Car 1 имеет приоритет.

Учитывая это:

        ->notEmpty(
            'car_id',
            'A car must be selected',
            function ($context) {
                if (!empty($context['data']['car_other'])) {
                    return false;
                }   

                return true;
            }   
        )   
        ->notEmpty(
            'car_other',
            'A car must be selected',
            function ($context) {
                if (!empty($context['data']['car_id'])) {
                    return false;
                }   

                return true;
            }   
        ); 

Кажется, что Cake делает car_other обязательным через шаблон формы.Я могу переопределить это на стороне шаблона с обязательным атрибутом, но если вы подтвердите это, other, кажется, имеет приоритет?Я также попробовал это с ->add и last->true на первом?

Итак, я хочу это при первоначальном представлении:

Car 1 (Required):
  OR
Car 2: 

И если вы отправите оба как пустые:

Car 1 (Required): <error message>
  OR
Car 2: <error message>

Чтобы пройти, необходимо ввести значение либо для автомобиля 1, либо для автомобиля 2.

...