我有一个表单,用于创建包含电子邮件,名称和密码输入的用户。该表单还有5个用户地址输入(addr1-5)。
提交没有填写地址字段的表单可以正常工作,并创建用户。
但是,如果您填写地址字段,则会显示405 Method Not Allowed
响应。
路线:
Route::group(['prefix' => '/users'], function () {
Route::post('/create', [
'uses' => 'UserController@create',
'as' => 'api_create_user',
]);
});
形式:
<form action="{{ route('api_create_user') }}" method="POST">
...
<input type="text" name="addr1">
<input type="text" name="addr2">
<input type="text" name="addr3">
<input type="text" name="addr4">
<input type="text" name="addr5">
...
</form>
控制器:
class UserController extends Controller {
...
public function create (RegisterRequest $request) {
...
$address = [
'addr1' => $request->input('addr1') ?? '',
'addr2' => $request->input('addr2') ?? '',
'addr3' => $request->input('addr3') ?? '',
'addr4' => $request->input('addr4') ?? '',
'addr5' => $request->input('addr5') ?? '',
];
$address = (object)array_filter($address);
$user->address = $address;
...
}
}
RegisterRequest:
class RegisterRequest extends FormRequest {
...
public function rules () : array {
return array(
...
'addr1' => 'nullable|string',
'addr2' => 'nullable|string',
'addr3' => 'nullable|string',
'addr4' => 'nullable|string',
'addr5' => 'nullable|string',
...
);
}
...
}
我真的无法解决问题所在。这显然不是语法,我肯定会导入正确的类等。
有什么想法吗?
谢谢!
答案 0 :(得分:-2)
也许您忘记了{{method_field('POST')}}