Laravel5.1 jsValidation独特的规则问题

时间:2015-12-23 19:09:56

标签: validation unique laravel-5.1 validationrules formvalidation-plugin

我使用laravel-jsValidation,https://github.com/proengsoft/laravel-jsvalidation,除了唯一规则外,一切正常! 在这里我有: 规则:

protected $userValidate=[
          'lastname' => 'required|max:100|min:2',
          'firstname' => 'max:100|min:2',
          'username' => 'required|unique:users|min:2',
          'email' => 'required|unique:users|email|max:255',
          'password' => 'required|confirmed|min:6',  ];

获取用户列表功能:

public function getUsers(){
  $validator = JsValidator::make($this->userValidate);      
  return view('admin.usersList')->withValidator($validator);}

商店功能:

public function store(Request $request){   
  $data = $request->all();

  $v = Validator::make($data, $this->userValidate);           

  if ($v->fails())
  {
      return redirect()->back()->withErrors($v->errors());          
  }  

  $user = User::create([
        'lastname' => $data['lastname'],
        'firstname' => $data['firstname'],
        'username' => $data['username'],
        'email' => $data['email'],                        
        'password' => bcrypt($data['password']), 
        'confirmed' => 1,                 
    ]);       

  return redirect('admin/usersList');}

问题是当我输入用户名或电子邮件时,其输入中会显示错误消息:

  

糟糕,看起来出了问题。

注意:我设置:'disable_remote_validation' => false, 当我将其更改为true时,只有当我输入用户表中不存在的用户名和电子邮件时,它才能正常工作!

我的代码中的错误是什么?

enter image description here

4 个答案:

答案 0 :(得分:2)

我是laravel-jsvalidation包的维护者。此问题已在版本1.3.0

中修复

自动验证规则唯一 ActiveURL 存在和自定义验证。只需启用它

 'disable_remote_validation' => false,

答案 1 :(得分:0)

唯一验证需要表名后的列名。我假设你的列名在数据库中是email。您的电子邮件规则应如下所示:

'email' => 'required|unique:users,email|email|max:255',

答案 2 :(得分:0)

return [
            'name' => 'required',
            'email' => 'required|email|unique:`admin_users`,email',
            'phone' => 'required|unique:admin_users,phone',
            'password' => 'required|min:6|max:16'
        ];

答案 3 :(得分:-1)

我认为问题是:这个包不支持远程验证,因为我可以在Config / jsValidation.php中看到:

  

/ *        *启用或禁用数据库和自定义规则的Ajax验证。        *默认情况下,通过AJAX验证Unique,ActiveURL,Exists和自定义验证        * /       ' disable_remote_validation' =>假,

那么如何通过AJAX验证此规则?请问有什么教程吗?