element手机验证格式_Laravel 自定义封装表单验证类

Laravel版本6.x

场景:为添加或者更新用户的时候自动验证表单

创建表单请求

使用 Artisan 命令 make:request 来创建表单请求类:

php artisan make:request Request

这会在 app/Http/Requests 目录下创建一个 appHttpRequestsRequest.php 文件,修改代码后

<?phpnamespace AppHttpRequests;use IlluminateFoundationHttpFormRequest;class Request extends FormRequest{    /**     * Determine if the user is authorized to make this request.     *     * @return bool     */    public function authorize()    {        return true;// 改为true  不然报403    }      /**     * 重写错误返回     * @param Validator $validator     * @throws ValidationException     * @author:     * @date: 2019/5/20 13:44     */    public function failedValidation(Validator $validator)    {        $message    = $validator->errors()->all();        $response   = response()->json([            'status'      => 200,            'message'   => $message[0],            'data'      =>[]        ]);        throw new ValidationException($validator, $response);    }      /**     * Get the validation rules that apply to the request.     *     * @return array     */    public function rules()    {        return [            //        ];    }}

然后再创建一个用户的请求表单验证类去继承appHttpRequestsRequest.php 文件下的类

使用 Artisan 命令 make:request 来创建表单请求类:

php artisan make:request UsersRequest
<?phpnamespace AppHttpRequests;class UsersRequest extends Request{    /**     * 获取适用于请求的验证规则     *     * @return array     */    public function rules()    {        return [            'mobile'        => 'sometimes|required|regex:/^1[34578][0-9]{9}$/|unique:users,mobile',        ];    }    /**     * 获取已定义验证规则的错误消息     *     * @return array    */    public function messages()    {        return [            'mobile.required'   => '手机号码必填',            'mobile.regex'      => '手机号码格式不正确',            'mobile.unique'     => '手机号已存在',        ];    }}

然后就可以在控制上使用表单验证类了

use AppHttpRequests甥敳獲Request;public function store(UsersRequest $request){    return $input = $request->all();  // 接受到的mobile手机号码这个字段就会自动进行验证了}

注意:laravel的表单提交提示的419,需要自行去做处理。

76679b28c6e9505f1a03c9a831c2a4e0.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值