首页 > Laravel中,如何写用户名的验证规则?

Laravel中,如何写用户名的验证规则?

要求是,必须包含字母和数字。

比如,纯数字就不可以。

用laravel自带的验证方法,如何实现?


用这个正则就可以,已测,[a-zA-Z]+([A-Za-z0-9])*

实现效果,比如在注册用户名的时候:

55555 不通过
8754xcc 不通过
hhgdG55 通过
hhgdG55? 不通过
ggh hhd 不通过
带有中文 不通过

貌似只能用正则,laravel没有提供相应的函数支持(形如alpha_num的函数)


你需要一份laravel文档:百度云,文档下载之后,请查看【目录】【服务】【服务——验证】,或【搜索】“Validator”。


你应该还没看到Laravel5文档的Validation部分~你可以写一个Request用来验证用户名


可以自定义验证规则


 $form_data = [
            "product_name" => $request->get('product_name'),      
        ];
$rules = [
            "product_name" => 'required'
        ];
$messages = [
            'required' => ' :attribute 字段必须填写.',
        ];        
$validate = Validator::make($form_data, $rules,$messages);
if ($validate ->fails()){
    return redirect('admin/addProduct')->withErrors($validate)->withInput();
        }

不知道能不能帮助到你


//获取表单的值
$username = $request->input('username');
$password = $request->input('password');

//登录表单验证
$validator = Validator::make($request->all(), [
  'username' => 'required|alpha_num|regex:/^(?!([A-Za-z]+|d\d+)$)[A-Za-z\d]$/',  //只允许数字和字母
]);

//表单验证失败提示
if ($validator->fails()) {
  //此处省略。。。
}

未测试。

【热门文章】
【热门文章】