首页  >  问答  >  正文

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

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

比如,纯数字就不可以。

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

天蓬老师天蓬老师2730 天前654

全部回复(6)我来回复

  • 巴扎黑

    巴扎黑2017-05-16 16:53:23

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

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

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

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

    回复
    0
  • 習慣沉默

    習慣沉默2017-05-16 16:53:23

    //获取表单的值
    $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()) {
      //此处省略。。。
    }

    未测试。

    回复
    0
  • 某草草

    某草草2017-05-16 16:53:23

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

    回复
    0
  • ringa_lee

    ringa_lee2017-05-16 16:53:23

     $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();
            }

    不知道能不能帮助到你

    回复
    0
  • 仅有的幸福

    仅有的幸福2017-05-16 16:53:23

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

    回复
    0
  • ringa_lee

    ringa_lee2017-05-16 16:53:23

    可以自定义验证规则

    回复
    0
  • 取消回复