如何解决Laravel自定义请求验证不起作用 api.php UpdateUserGeneralInfoController.php UpdateUserGeneralInfoRequest.php
我正在尝试通过创建自定义表单请求来使用表单Laravel请求验证。这是我的代码段
api.php
Route::group(['namespace' => 'User'],function () {
Route::put('user/{user}','UpdateUserGeneralInfoController@UpdateUserGeneralInfo');
});
UpdateUserGeneralInfoController.php
use App\Http\Controllers\Controller;
use App\Http\Requests\User\UpdateUserGeneralInfoRequest;
class UpdateUserGeneralInfoController extends Controller
{
public function UpdateUserGeneralInfo(UpdateUserGeneralInfoRequest $request,User $user)
{
$user->name = $request->name;
$user->email = $request->email;
$user->date_of_birth = $request->date_of_birth;
$user->save();
$response = [
'message' => 'User info updated successfully'
];
return response($response,201);
}
}
UpdateUserGeneralInfoRequest.php
namespace App\Http\Requests\User;
use Illuminate\Foundation\Http\FormRequest;
class UpdateUserGeneralInfoRequest extends FormRequest
{
public function authorize()
{
return true;
}
public function rules()
{
return [
'name' => 'required|max:50','email' => 'required','date_Of_birth' => 'required'
];
}
public function messages()
{
return [
'name.required' => 'Name is required','email.required' => 'An email is required','date_Of_birth' => 'Date of Birth is required'
];
}
}
文件夹结构为
我正在尝试通过邮递员测试请求。这是我的json输入
{
"id" : 1,"name":"Osman Rafi","email": "rafi@devport.com","current_address": "House-26,Islampur R/A,Mejortila,Sylhet-3100,Bangladesh","bio": "But a man is not made for defeat. A man can be destroyed,but not defeated.","linkedin": "linkedin.com/in/osman-goni-chowdhury-bb421a16b","facebook": "https://www.facebook.com/osman.rafi140","github": "https://github.com/Osman-Rafi","blood_group": "O(+ve)","password": "111111"
}
它显示了我
404 | Not Found
如果我尝试将其作为控制器,它将非常完美
public function UpdateUserGeneralInfo(Request $request,User $user)
{
}
解决方法
您必须在请求中传递所有这三个变量(您缺少date_Of_birth):
'name' => 'required|max:50','email' => 'required','date_Of_birth' => 'required'
但是,我认为您的错误来自其他几个地方,因为未找到404来自链接中未找到的路由。
添加了要呼叫的路由后,您是否清除了路由缓存:
尝试
php artisan route:cache
还添加
'name.required' => 'Name is required','email.required' => 'An email is required','date_Of_birth' => 'Date of Birth is required'
出生日期。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。