我试图添加一个验证规则,只接受信件.我正在使用regex规则,但它仍然不起作用.下面是我的代码:

    /**
     * Validate request/input 
     **/
    $this->validate($request, [
        'name' => 'required|regex:/^[\pL\s\-]+$/u|max:255|unique:users,name,'.$user->id,
        'email' => 'required|email|max:255|unique:users,email,'.$user->id,
    ]);

每当我输入像Foo Foo这样的名字时,它仍然成功地注册了.

知道我做错了什么吗?

推荐答案

你的正则表达式失败了,我想,我在Regexr上试过了,但无法运行,试试这个:

'name' => 'required|regex:/^[a-zA-Z]+$/u|max:255|unique:users,name,'.$user->id,

让我知道你进展如何.

这里只有正则表达式:^[a-zA-Z]+$

Laravel相关问答推荐

URL类图中的循环关系

laravel如何在Blade 模板中将元素添加到数组

在 blade laravel 中以格式编号显示长数字

如何获得每种类型的总和

如何防止 Laravel 路由被直接访问(即非 ajax 请求)

Mockery 和 Laravel 构造函数注入

Laravel 5文件夹 struct 中的文件保存在哪里?

laravel 控制器中的全局变量

路由中间的可选参数

Laravel transformer vs resource

在 laravel 如何将额外的数据传递给 mutators 和 accessors

Laravel Eloquent Pluck 不丢失密钥

Database[] 未配置 Laravel 5

在 Laravel 中生成随机数

Laravel 模型:模型属性在哪里?

Laravel - 动态创建表(无需迁移)

如何使用 Laravel 测试授权重定向?

Laravel 从公共删除目录

Laravel Mix:更新 Node.js 依赖项

Laravel Eager加载与显式连接