【发布时间】:2016-08-18 01:58:59
【问题描述】:
我试图在我的validator 方法中对我的注册表单进行一些验证。我将$user->id 连接到我的name 和email 数组键,这样用户就无法使用已经使用的相同名称和电子邮件地址进行注册。
下面是我的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',
]);
}
}
每次我点击提交时,我都会收到 Undefined variable: user 错误消息,所以我尝试在我的验证器方法上方添加 $user = Auth::user();,就像这样
// 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',
]);
}
但我收到 syntax error, unexpected '$user' 错误消息。我不确定我忽略了什么。
【问题讨论】:
标签: php laravel-5.1