如果每个服务器具有唯一性,则验证器为'

时间:2018-01-15 22:20:14

标签: laravel validation unique rules

我有一个带有id,pseudo,col3,col4,col5,col6,server_id的表persos(播放器)。 我希望保存persos id,伪(名称)在server_id中是唯一的。

Ex:服务器1上的Player1和服务器2上的Player 1是可能的,但服务器1上的Player 2和服务器1上的Player 2不是。

我已经尝试了这个,它的工作是为了伪' (名称)但不是每台服务器:

$validator = Validator::make($request->all(), [
            'pseudo' => 'unique:persos,pseudo', 

如果我添加' serveur' =>唯一:persos,serveur_id',因为伪Player1被采用而且服务器1也没有用。

x2:播放1 - Serv 1 = NO
x1:Play1 - Serv1 / x1 Play1 - Serv2 = OK
x1 Play1 -Serv1 / x1 Play2 - Serv 2 = OK

感谢您的帮助

编辑:

 $validator = Validator::make($request->all(), [
            'pseudo' => 'unique:persos,pseudo', 
            'level1' => 'required',
            'lvl2' => 'required',
            'lvl3' => 'required|max:10',
            'team' => 'max:30',
            'serveur' => 'required|unique:persos,serveur_id',

        ]);
if ($validator->fails()) {
             return redirect(route('perso.create'))
                        ->withErrors($validator)
                        ->withInput();
        }
        else
        {
            $perso = new Perso();
            $perso->pseudo = $request->get('pseudo');
            $perso->level1= $request->get('level1');
            $perso->lvl2= $request->get('lvl2');
            $perso->lvl3 = $request->get('lvl3');
            $perso->team= $request->get('team');
            $perso->user()->associate(Auth::id());
            $perso->serveur()->associate($request->get('serveur'));
            $perso->save();

            return $perso;
            return redirect(route('perso.frontIndex'));
        }

0 个答案:

没有答案