Как проверить, зависит от другого значения в php laravel? - PullRequest
0 голосов
/ 17 октября 2018

У меня есть проверка в laravel, как это

$this->validate($request, [
   "brief_table" => "required"
]);

, тогда я хочу проверить другую проверку в зависимости от значения краткой_таблицы, например, если значение краткой_таблицы равно 'logo', я хочу проверить

[
            "service" => "required",
            "category" => "required",
            "logo" => "required",
            "description" => "required",
            "industry" => "required",
            "vision_mission" => "required",
            "logo_format" => "required",
            "symbol" => "required",
            "color" => "required",
            "clr" => "required",
            "designer_note" => "required",
            "business_card" => "required"
        ]

если кратким значением является годовой отчет, тогда я хочу применить другое правило

, но мне нужно проверить, существует значение краткое_таблицы или нет.

я пытался использовать двойную проверку, например

$this->validate($request, ["brief_table" => "required"]);
$this->validate($request, $this->getValidationRule($request->brief_table));

первый работает, а второй не работает.

1 Ответ

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

Не могли бы вы просто проверить значениеrief_table и затем применить разные правила в зависимости от результата?

Здесь будут применяться первые правила, если краткая таблица == логотип.И если это что-то еще (включая ноль), то должно применяться другое правило.

if ($request->input('brief_table') == 'logo') {
    $this->validate($request, [
        "brief_table" => "required",
        "service" => "required",
        "category" => "required",
        "logo" => "required",
        "description" => "required",
        "industry" => "required",
        "vision_mission" => "required",
        "logo_format" => "required",
        "symbol" => "required",
        "color" => "required",
        "clr" => "required",
        "designer_note" => "required",
        "business_card" => "required"
    ]);
} else {
    $this->validate($request, [
        "brief_table" => "required",
        ... other rules ...
    ]);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...