专业人员。
尽管我尝试使用表单请求,但无法将表单请求用于用户的更新操作。 我想使用表单请求。
好的,请求表单的验证逻辑有效,但之后,数据 通过验证的文件无法保存。 (也没有错误,更新数据后应将其重定向。)
当我不使用表单请求时(我直接在更新操作中编写验证逻辑和validate方法),通过验证后即可保存数据。
这里是代码...
import os
for path in data_paths:
for file in os.listdir(path):
data_and_seg_arr = [np.load(file, ...
use Illuminate\Http\Request;
public function update(Request $request, $user) {
$user = User::findOrFail($user);
$request->validate([
'name' => [
'required',
'string',
'max:10',
'regex: /^[^ -~。-゚\x00-\x1f\t]+$/u'
],
'name_kana' => [
'required',
'string',
'max:20',
'regex: /^[^ -~。-゚\x00-\x1f\t]+$/u',
'regex: /^[ァ-ヶー]+$/u'
],
'email' => [
'required',
'string',
'email',
'max:255',
Rule::unique('users')->ignore($user->id),
],
'email_confirmation' => [
'required',
'same:email'
],
'birth_day' => [
'required',
'date'
],
'address' => [
'required',
'max:40',
'regex: /^[^ -~。-゚\x00-\x1f\t]+$/u'
],
'job_type_id' => [
'required'
],
]
);
$user->name = $request->name;
$user->name_kana = $request->name_kana;
$user->email = $request->email;
$user->birth_day = $request->birth_day;
$user->address = $request->address;
$user->job_type_id = $request->job_type_id;
$user->save();
return redirect('users/')->with('message', '情報を編集しました');
}
use App\Http\Requests\UserProfileUpdateRequest;
public function update(UserProfileUpdateRequest $request, $user) {
$user = User::findOrFail($user);
$user->name = $request->name;
$user->name_kana = $request->name_kana;
$user->email = $request->email;
$user->birth_day = $request->birth_day;
$user->address = $request->address;
$user->job_type_id = $request->job_type_id;
$user->save();
return redirect('users/')->with('message', '情報を編集しました');
}
答案 0 :(得分:0)
应该是:
return redirect('/users')->with('message', '情報を編集しました');
不是:
return redirect('users/')->with('message', '情報を編集しました');
答案 1 :(得分:0)
您是否试图在变量中捕获经过验证的数据:
$validatedData = $request->validate(...);
(在docs中指定)。
validate()
方法将在检查后返回所有经过清理的数据,因此您将捕获此返回值。
然后,使用新变量将字段保存到记录:
$user->name = $validatedData->name;
...