Laravel request请求表单验证

创建请求文件

php artisan make:request requestName

requestName是请求的名字,会保存在app/Http/Requests

<?php

namespace App\Http\Requests;

use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Http\Exceptions\HttpResponseException;
use Illuminate\Contracts\Validation\Validator;

class recruitForm extends FormRequest
{
    /**
     * 
     *
     * @return bool
     */
    public function authorize()
    {
        return true; //这里一定要改成true默认是false 不然会报403错误
    }

    /**
     * 验证字段
     *
     * @return array
     */
    public function rules()
    {
        return [
            'job' => 'required | max:64',
            'city' => 'required | max:64',
            'experience' => 'required | max:32',
            'qualification' => 'required | max:32',
            'salary' => 'required | max:32',
        ];
    }

   /**
     * 获取已定义验证规则的错误消息。
     *
     * @return array
     */
    public function messages()
    {
        return [
            'job.required' => '职位必填',
            'job.max' => '职位最大字符不得超过64字符',
            'city.required' => '工作地点必填',
            'city.max' => '工作地点最大字符不得超过64字符',
            'experience.required' => '工作经验必填',
            'experience.max' => '工作经验最大字符不得超过64字符',
            'qualification.required' => '学历必填',
            'qualification.max' => '学历最大字符不得超过64字符',
            'salary.required' => '薪资必填',
            'salary.max' => '薪资最大字符不得超过32字符',
        ];
    }

//    ajax返回
    public function failedValidation(Validator $validator)
    {
        throw (new HttpResponseException(response()->json([
            'code' => 500,
            'msg' => $validator->errors()->first(),
        ], 200)));
    }
}

posted @   小信吖  阅读(67)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
点击右上角即可分享
微信分享提示