Синтаксис регистратора - Laravel - PullRequest
0 голосов
/ 22 сентября 2018

синтаксис валидатора по умолчанию, поставляемый с Laravel, выглядит так:

'name' => 'required|string|max:255',
 'email' => 'required|string|email|max:255|unique:users',
 'password' => 'required|string|min:6|confirmed',

Я хотел бы добавить новый вход безопасности, который должен быть = 122 (в примере), чтобы применить действие регистра.

Я пытался:

 'code' => 'required|123|confirmed',
 'code' => 'required|value:123|confirmed',

Не работает.Любая помощь?Сообщение об ошибке: Метод Illuminate \ Validation \ Validator :: validate123 не существует.

Ответы [ 3 ]

0 голосов
/ 22 сентября 2018

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

'code' => 'required|in:123|confirmed',

Вы можете проверить документацию для работы с проверкой

https://laravel.com/docs/5.7/validation

0 голосов
/ 22 сентября 2018

вы можете использовать регулярное выражение в вашем валидаторе

 'code' => array(
        'required',
        'regex:123'
    )
0 голосов
/ 22 сентября 2018

Не знаю, зачем вам обязательно делать это в валидаторе, но вместо этого это должно работать ...

protected function validator(array $data)
{
    $validCode = 123;

    return Validator::make($data, [
        'name' => 'required|string|max:255',
        'email' => 'required|string|email|max:255|unique:users',
        'password' => 'required|string|min:6|confirmed',
        'code' => [
            'required',
            'numeric',
            function($attribute, $value, $fail) use ($validCode) {
                if ($value != $validCode) $fail($attribute . ' is invalid.');
            },
        ],
    ]);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...