我是Laravel的新人,当我在玩它的时候,我遇到了这个问题。 我有一个工作正常的注册系统,但现在我想在我的表中添加一个新字段(用户的描述字段)。 但是,这个描述字段,我不想在用户注册时填写,我希望用户在获取他的个人资料并更新模态窗口时填写此内容。
问题是,如果我将该文件归档为空,当我注册时说明提交的描述不能为空时,我会收到错误。
这是我在UserController中使用的,以便更新描述字段,但我不确定是否正确。
public function postDesc(Request $request){
$this->validate($request, [
'description' => 'required|min:20'
]);
$user = User::all();
$user->description = $request->input('description');
$user->save();
return redirect()->route('user.profile.edit');
}
这是我打开表单的方式:
{!! Form::open(['method' => 'PUT', 'action' => 'UserController@postDesc', 'class' => 'profile-form']) !!
}
答案 0 :(得分:0)
您使用window.searchq = function() {...}
验证规则,这就是您收到邮件的原因。您应该对注册页面和配置文件更新表单使用不同的验证规则。
良好做法是create two Request classes并使用它们来验证两种形式。
答案 1 :(得分:0)
在这种情况下,我希望保留您的说明列nullalbe()
。因此,在注册时,它不会抛出描述字段为空的错误。
稍后您可以更新说明字段。
public function postDesc(Request $request)
{
$this->validate($request, [
'description' => 'required|min:20'
]);
// Get the logged in user id using auth and then updating description filed
$user = User::where('user_id', Auth::id())
->update([
'description' => $request->description
]);
return redirect()->route('user.profile.edit');
}