首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >laravel验证方法返回一个错误

laravel验证方法返回一个错误
EN

Stack Overflow用户
提问于 2021-03-02 08:49:44
回答 3查看 136关注 0票数 1

我试图使用以下方法验证一些输入:

代码语言:javascript
复制
$request->validate([
        'prenom' => 'required',
        'nom' => 'required',
        'telephone' => ['required | regex:/^(?:(?:(?:\+|00)212[\s]?(?:[\s]?\(0\)[\s]?)?)|0){1}(?:5[\s.-]?[2-3]|6[\s.-]?[13-9]){1}[0-9]{1}(?:[\s.-]?\d{2}){3}$/|digits:10'],
        'password' => 'required |string|min:8|confirmed',
        'confirm_pass' => 'required',
        'email' => 'required|email|max:255|string|unique:users'
            ]);

但它给了我一个错误:

不存在Illuminate\Validation\Validator::validateRequired|Regex

方法。

你知道怎么修吗?!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2021-03-02 08:57:34

管道|符号在正则表达式模式中可用,因此与分隔符冲突。在使用regex模式时,可能需要在数组中指定规则,而不是使用管道分隔符,将代码更改为:

代码语言:javascript
复制
'telephone' => array(
      'required',
      'regex:/^(?:(?:(?:\+|00)212[\s]?(?:[\s]?\(0\)[\s]?)?)|0){1}(?:5[\s.-]?[2-3]|6[\s.-]?[13-9]){1}[0-9]{1}(?:[\s.-]?\d{2}){3}$/',
      'digits:10'
)
票数 3
EN

Stack Overflow用户

发布于 2021-03-02 08:56:48

代码语言:javascript
复制
use Validator;

增加控制器的顶部

票数 0
EN

Stack Overflow用户

发布于 2021-03-02 09:02:41

代码语言:javascript
复制
$validatedData = $request->validate([
        'prenom' => 'required',
        'nom' => 'required',
        'telephone' => ['required | regex:/^(?:(?:(?:\+|00)212[\s]?(?:[\s]?\(0\)[\s]?)?)|0){1}(?:5[\s.-]?[2-3]|6[\s.-]?[13-9]){1}[0-9]{1}(?:[\s.-]?\d{2}){3}$/|digits:10'],
        'password' => 'required |string|min:8|confirmed',
        'confirm_pass' => 'required',
        'email' => 'required|email|max:255|string|unique:users'
            ]);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66436086

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档