И строковые и целочисленные правила для поля в проверке laravel - PullRequest
0 голосов
/ 18 марта 2019

Я хочу проверить поле, которое может быть целым числом или строкой обоих.

Когда это целое число, максимальное значение должно быть меньше 30, а когда это строка, максимальное значение должно быть не более 10 символов.

Есть ли способ решить без создания пользовательского правила? Если нет, каков наилучший алгоритм для создания этого правила?

1 Ответ

0 голосов
/ 20 марта 2019

Попробуйте что-то вроде этого:

$validator = Validator::make($request->all(), [
    'title' => [
        'required',
        function ($attribute, $value, $fail) {
            if (is_int($value) && $value > 30) {
                $fail($attribute . ' must be less than 30.');
            } else if (is_string($value) && strlen($value) > 10 ) {
                $fail($attribute . ' must be less than 10 characters.');
            }
        },
    ],
]);

См. Документацию Laravel для получения дополнительной информации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...