Преобразуйте правило регулярного выражения в средство проверки Laravel - PullRequest
1 голос
/ 09 апреля 2019

У меня есть несколько форм (> 20), я искал для проверки полей ввода формы с помощью Regex.

Вместо того, чтобы вручную заполнять регулярное выражение для проверки контроллера, я хотел бы создать новое правило и вызвать правило проверки для проверки.

Просто, если мне нужно обновить шаблон регулярного выражения, я могу сделать это в одном месте и не нужно делать это во всех формах вручную.

Я не уверен, как мне добавить шаблон Regex в правила.

Мои шаги:

php artisan make:rule MobileNo

Мои шаблоны регулярных выражений,

Для проверки номера телефона, а также номера телефона Номер телефона

`regex:/(^[0-9]+$)+/`

Подтверждение названия:

regex:/(^[A-Za-z0-9@ ()%,:<>?*&-]+$)+/

Пожалуйста, подскажите, как мне его достичь?

Ответы [ 2 ]

2 голосов
/ 09 апреля 2019

После команды make:rule вы увидите, что один файл был создан в папке правил.В этом файле вы должны определить правила следующим образом

public function passes($attribute, $value)
{
    return preg_match('/(^[0-9]+$)+/', $value);
}

, а в вашем контроллере вы можете сделать что-то вроде этого

use App\Rules\MobileNo;

$rules = [
        'phone' => ['required', new MobileNo],
    ];

Надеюсь, это поможет:)

0 голосов
/ 09 апреля 2019

регулярное выражение: шаблон

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

Примечание: При использовании шаблона регулярного выражения ономожет потребоваться указать правила в массиве вместо> использования разделителей канала, особенно если регулярное выражение содержит символ канала.

Чтобы уточнить: вы бы сделали что-то подобное.

$regex_rules = array('test' => array('size:6', 'regex:foo'));

'cid' => array('required', 'regex:/^((comp)|(soen)|(engr)|(elec))\d{3}$/i'),

'description'=>'required|regex:/^[A-Za-z \t]*$/i|min:3|unique:courses',

'credits'=>'required|regex:/^\d+(\.\d)?$/'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...