0
私のvalidator
メソッドで私の登録フォームでいくつかの検証をしようとしています。 $user->id
を私のname
email
の配列キーに連結していますので、ユーザーは同じ名前の&電子メールアドレスをすでに取得しているので登録できません。 laravel validation 5.1認証されたユーザー
AuthController
<?php
namespace App\Http\Controllers\Auth;
use App\User;
use Validator;
use App\Http\Controllers\Controller;
use Illuminate\Foundation\Auth\ThrottlesLogins;
use Illuminate\Foundation\Auth\AuthenticatesAndRegistersUsers;
class AuthController extends Controller
{
use AuthenticatesAndRegistersUsers, ThrottlesLogins;
public function __construct()
{
$this->middleware('guest', ['except' => 'getLogout']);
}
protected function validator(array $data)
{
return Validator::make($data, [
'name' => 'required|regex:/^[a-zA-Z]+$/u|max:255|unique:users,name,'.$user->id,
'email' => 'required|email|max:255|unique:users'.$user->id,
'password' => 'required|confirmed|min:6',
]);
}
}
私はこの
// retrieve authenticated user
$user = Auth::user();
protected function validator(array $data)
{
return Validator::make($data, [
'name' => 'required|regex:/^[a-zA-Z]+$/u|max:255|unique:users,name,'.$user->id,
'email' => 'required|email|max:255|unique:users'.$user->id,
'password' => 'required|confirmed|min:6',
]);
}
ように私のバリデータメソッドの上$user = Auth::user();
を追加しようとするので、私はUndefined variable: user
エラーメッセージが表示されます提出打つたびに私はsyntax error, unexpected '$user'
エラーを取得
laravelの登録時に重複する名前と電子メールアドレスを検証するにはどうすればよいですか?あなたは正しい方向に私を向けることができますか? –
名前とメールで一意の行にしたいですか?その真実なら、あなたは$ user-> idを使用しないでください。 – hizbul25
私は達成しようとしていることを考えています。たとえば、ユーザーが「foo」という名前でサインアップし、「foo @ foo.com」というメールを送信したとします。他の誰かが同じ資格でサインアップするのをやめてください。 –