mig*_*eja 3 php regex laravel laravel-5
我有多个表单(>20),我正在寻找使用正则表达式验证表单输入字段的方法。
我不想手动填充正则表达式来验证控制器,而是想创建一个新规则并调用 rull 进行验证。
以防万一,如果我需要更新正则表达式模式,我可以一次性完成,而不必在所有表单中手动完成。
我不确定如何将正则表达式模式添加到规则中。
我的步骤:
php artisan make:rule MobileNo
Run Code Online (Sandbox Code Playgroud)
我的正则表达式模式,
用于验证电话号码以及固定电话号码
`regex:/(^[0-9]+$)+/`
Run Code Online (Sandbox Code Playgroud)
标题验证:
regex:/(^[A-Za-z0-9@ ()%,:<>?*&-]+$)+/
请指导我如何实现它?
命令执行后,make:rule您将看到规则文件夹下创建了一个文件。在该文件中,您必须定义如下规则
public function passes($attribute, $value)
{
return preg_match('/(^[0-9]+$)+/', $value);
}
Run Code Online (Sandbox Code Playgroud)
在你的控制器中你可以做这样的事情
use App\Rules\MobileNo;
$rules = [
'phone' => ['required', new MobileNo],
];
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助 :)