【问题标题】:How to return a response if the regex validation fails in laravel?如果 laravel 中的正则表达式验证失败,如何返回响应?
【发布时间】:2021-10-16 16:28:40
【问题描述】:

我正在开发一个负责注册用户的 API,并且数据应该存储在数据库中,直到这部分工作正常,我想为验证部分添加正则表达式模式,例如,如果用户手机号码与正则表达式模式然后它应该返回像Please enter valid mobile number 这样的响应我想要如何实现这件事请帮助我..

UserController.php

public function Registration(Request $request){
        $this->validate($request, [
            'firstName'=>'required|string|between:3,15',
            'email'=>'required|email',
            'password'=>'required|regex:/^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[#?!@$%^&*-]).{6,}$/',
            'mobile'=>'required|digits:10',
            ]);
        $admin = new AdminModel([
            'firstName' => $request->input('firstName'),
            'email' => $request->input('email'),
            'password' => bcrypt($request->input('password')),
            'mobile' => $request->input('mobile'),
        ]);
        $admin->save();
        return response()->json(['message' => 'Admin registered successfully']);
    }

【问题讨论】:

    标签: regex laravel laravel-8 laravel-validation


    【解决方案1】:

    添加验证消息

    $this->validate($request, [
                'firstName'=>'required|string|between:3,15',
                'email'=>'required|email',
                'password'=>'required|regex:/^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[#?!@$%^&*-]).{6,}$/',
                'mobile'=>'required|digits:10',
                ],[
            'mobile.required' => 'Please enter mobile number',
            'mobile.digits' => 'Please enter valid mobile number',
        ]);
    

    【讨论】:

    • 有什么问题?
    • 检查更新的代码,您可以为任何验证规则添加自定义消息。
    • 它正在打印一些其他消息,意味着它正在打印我的项目消息
    • 可以分享一下吗?
    • 欢迎来到 Apiato 这条消息即将到来
    猜你喜欢
    • 2020-03-22
    • 2011-02-24
    • 1970-01-01
    • 1970-01-01
    • 2021-05-20
    • 1970-01-01
    • 2017-03-20
    • 1970-01-01
    • 2020-11-21
    相关资源
    最近更新 更多