当我使用Laravel 5.3的验证如下避免了独特的规则验证错误:Laravel更新
在我的模型:
public static $validation = [
'name' => 'required',
'username' => 'required|alpha|unique:companies',
'email' => 'required|email|unique:companies',
];
在我的控制,我张贴到同一[email protected]
方法创建一个新的项目或编辑之一,当时:当我创建一个新项目
public function dataPost(Request $request) {
// First validation
$this->validate($request, Company::$validation);
$id = $request->id;
if ($id > 0) {
// Is an edit!
$company = Company::find($id);
$company->update($request->all());
$company->save();
Session::flash('messageclass', 'success');
Session::flash('message', trans('companies.editedsuccessfully'));
} else {
// Is a create
$company = new Company($request->all());
$company->save();
Session::flash('messageclass', 'success');
Session::flash('message', trans('companies.createdsuccessfully'));
}
return redirect()->route('companyindex');
}
独特的验证工作正常,但导致错误(如在它的标志作为用户名已经存在)WH编辑一个项目。
任何想法如何避免这种情况?即使在编辑中,我仍然希望确保数据在更改时是唯一的,但如果数值与之前相同,则忽略验证。
我知道我可以手动做到这一点,但我不知道是否有内置的方法来避免这种情况。
谢谢!
感谢您的回答。这是这种情况下的标准做法吗? – zundi
你缺少的一件事是如果在更新期间我(例如)将用户名更改为已存在的用户名。 – zundi
@ zundi更好的方式来避免更新'用户名' –