【问题标题】:How to add validation if CRUD operation is done with routes in Laravel如果在 Laravel 中使用路由完成 CRUD 操作,如何添加验证
【发布时间】:2019-02-07 04:01:12
【问题描述】:

如果使用路由而不是控制器,我想就如何向表单添加验证请求您的帮助。我目前使用的代码:

Route::post('/contact/submit', function (Request $request) {
    validate($request,[
        'FirstName'=>'required',
        'LastName'=>'required',
        'Age'=>'required'
    ]);

另外,如何添加自定义验证,例如,确保显示“请填写姓名字段”而不是“需要姓名”消息。

【问题讨论】:

    标签: php laravel laravel-routing laravel-validation


    【解决方案1】:

    是的,您需要使用Validator 类,是的,您还可以为自定义消息添加另一个变量。

    Route::post('/contact/submit', function (Illuminate\Http\Request $request) {
        $rules = [
            'FirstName' => 'required',
            'LastName' => 'required',
        ];
        $messages = [
            "FirstName.required" => "First name is compulsory.",
            "LastName.required" => "Last name is mandadory.",
        ];
        $validator = Validator::make($request->all(), $rules,$messages);
        if($validator->fails()){
            return dd($validator->messages());
        }
    });
    

    错误信息会是这样的

    MessageBag {#1332 ▼
      #messages: array:2 [▼
        "FirstName" => array:1 [▼
          0 => "First name is compulsory."
        ]
        "LastName" => array:1 [▼
          0 => "Last name is mandadory."
        ]
      ]
      #format: ":message"
    }
    

    【讨论】:

    • @2486,感谢您的解决方案,因此 Validator 与路由 i 一起使用,而 validate 与控制器一起使用。正确的?希望得到您的答复
    • 你也可以使用$request->validate函数
    猜你喜欢
    • 2021-07-18
    • 2019-07-17
    • 1970-01-01
    • 1970-01-01
    • 2016-03-30
    • 2015-06-17
    • 2021-10-25
    • 2012-09-23
    相关资源
    最近更新 更多