Laravel正则表达式验证不起作用

用户名

我想将用户名定义为4个字母+ 4个数字,例如“ abcd1234”。这是我在Laravel 5中的代码:

    public function rules()
    {
        return [
            'username' => 'required|regex:/^[A-Za-z]{4}\d{4}$/|unique:users',
            'email' => 'required|email|unique:users',
            'password' => 'required|confirmed|min:8'
        ];
    }

但是,正则表达式验证根本不起作用。如何解决这个问题呢?谢谢!

用户名

该代码是正确的。问题是在use App\Http\Requests\Request;中遗漏了RegisterRequest.php

中的语句RegisterRequest.php应如下所示:

<?php namespace App\Http\Requests\Auth;

use App\Http\Requests\Request;

class RegisterRequest extends Request {

    /**
     * Get the validation rules that apply to the request.
     *
     * @return array
     */
    public function rules()
    {
        return [
            'username' => 'required|regex:/^[A-Za-z]{4}\d{4}$/|unique:users',
            'email' => 'required|email|max:255|unique:users',
            'password' => 'required|min:8|confirmed',
        ];
    }

}

最后,'username' => 'required|regex:/^[A-Za-z]{4}\d{4}$/|unique:users'效果很好!

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章