搜尋

首頁  >  問答  >  主體

在Laravel中,如何寫使用者名稱的驗證規則?

要求是,必須包含字母和數字。

比如,純數字就不行。

用laravel自備的驗證方法,如何實作?

天蓬老师天蓬老师2782 天前709

全部回覆(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
  • 取消回覆