表格列稍后填写

时间:2016-12-29 09:41:13

标签: php laravel laravel-5 laravel-5.3

我是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']) !!}

2 个答案:

答案 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');
}