仅在 Laravel 5.4 用户名上验证英文字母和数字

Fir*_*iev 11 php validation laravel

我有一个基于 Laravel 5.4 的网站

我遇到了一个问题,在注册用户时,我需要解决username唯一的英文字母和数字。

我在控制器中有一个方法。

protected function validator(array $data)
{
   return Validator::make($data, [
       'username' => 'required|string|without_spaces|max:255|unique:users',
       'email' => 'string|email|max:255|unique:users|nullable',
       'password' => 'string|min:6|confirmed|nullable',
   ]);
}
Run Code Online (Sandbox Code Playgroud)

有什么想法如何做到这一点吗?我被喂饱了加入规则,alpha_num但事情并没有取得成功。

小智 11

 'username' => 'required|string|without_spaces|max:255|unique:users|regex:/(^([a-zA-Z]+)(\d+)?$)/u',
Run Code Online (Sandbox Code Playgroud)


小智 5

您只需添加alpha验证即可。

'username' => 'required|alpha|max:255|unique:users',
Run Code Online (Sandbox Code Playgroud)