【发布时间】:2019-12-27 07:44:57
【问题描述】:
我在 Laravel 中创建了请求表单验证,但是当我想添加新的输入字段时,它不起作用。在我的表格中,没有名为城镇或城市的输入。我只想在 Controller 中添加一个。
$request->all() // returns perfect with new inputs.
$request->validated() // returns without new inputs. because of that validation fails.
ClientController.php
public function update(ClientRequest $request, Client $client)
{
$request->merge([
'city' => explode('/', $request->post('citytown'))[0],
'town' => explode('/', $request->post('citytown'))[1]
]);
$validated = $request->validated();
Client::whereId($client->id)->update($validated);
return redirect('/clients')->with('success', 'success');
}
ClientRequest.php
public function rules()
{
return [
'email' => "required|email|max:254|unique:clients,email,{$this->route()->client->id}",
'fullname' => 'required|max:128',
'idnumber' => "required|max:11|unique:clients,idnumber,{$this->route()->client->id}",
'gender' => 'required|digits_between:1,2',
'phone' => "required|max:10|unique:clients,phone,{$this->route()->client->id}",
'adress' => 'required',
'town' => 'required',
'city' => 'required',
];
}
【问题讨论】: