`
xieye
  • 浏览: 830814 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

larave对路由参数进行表单验证

    博客分类:
  • PHP
阅读更多
laravel当中,如果使用表单验证有好几种方法。

其中一种方法是写一个单独的表单验证类
方法是
php artisan make:request StoreBlogPost
然后此命令会新生成的类保存在 app/Http/Requests 目录下。

今天发现的问题是,
该类里面的rules() 方法,只能验证请求对象get或post之类的参数,而不能验证路由参数。
这就很尴尬了。没找到方法,只能用如下丑陋的代码解决。

首先在正常的控制里加一个构造方法:
类似

路由类似
Route::any( '/share_report/{param1}/{param2}', 'OrderController@share_report' );


控制器类 OrderController.php

public function __construct()
{
        $this->middleware(function ($request, $next) {
            $request->offsetSet('param1', $request->route( 'param1' ));
            $request->offsetSet('parem2', $request->route( 'param2' ));
            return $next($request);
        })->only('share_report'); // 只对这个特定方法share_report 使用中间件闭包
        // 把路由参数注入到请求对象的请求参数里。
}

public function share_report( string $param1, string $parem2,
                                  StoreBlogPost $request )
{

      // 这里面是正常的业务逻辑。
}


表单验证类 StoreBlogPost

public function rules()
{
    return [
            'param1' => 'required|min:4',
            'param2'    => 'required',
     ]

}
0
0
分享到:
评论

相关推荐

    jQuery validate 表单验证源码

    这可能利用了jQuery validate的`groups`选项,将多个字段作为一个组进行验证。 除了这些示例页面,`Default.aspx`应该是项目的入口页面,引导用户访问这些验证示例。`Web.config`文件是ASP.NET应用程序的核心配置...

    表单注册验证例子

    2. 后端验证:服务器接收到表单数据后进行验证,这是必不可少的一步,因为前端验证可以被禁用或绕过。常见的后端验证框架有Express.js(Node.js)、Django(Python)、Laravel(PHP)等。 在"注册验证"这个例子中,...

    详解解决Vue相同路由参数不同不会刷新的问题

    通常情况下我们喜欢设置keepAlive...同时在created 中触发请求,在路由参数不同的情况下并不会执行对应的操作。 解决方法: 1、给 router-view 设置 key 属性为路由的完整路径 $route.fullPath> 这种方法我觉得应该

    laravel框架使用FormRequest进行表单验证,验证异常返回JSON操作示例

    总结来说,通过Laravel框架的FormRequest类,开发者可以方便地对表单数据进行验证,并且通过重写failedValidation()方法来控制验证失败时的响应格式和内容。这种方式提高了代码的模块化和重用性,同时方便了前后端...

    Struts2用validate方法进行表单验证

    当用户提交表单时,请求会路由到对应的Action类,此时我们可以在Action类中定义validate方法进行验证。 1. **Action类的validate方法** 在Action类中,可以定义一个名为`validate`的方法来进行数据验证。这个方法...

    如何配置OSPF动态路由协议的身份验证

    为了安全的原因,我们可以在相同OSPF区域的路由器上启用身份验证的功能,只有经过身份验证的同一区域的...而消息摘要(md5)身 份验证在传输身份验证口令前,要对口令进行加密,所以一般建议使用此种方法进行身份验证。

    在vue中利用全局路由钩子给url统一添加公共参数的例子

    有的时候我们可能有这样的需求,比如现在url为m.taoyuewenhua.com/#/ 我们需要在用户每次跳转路由的时候监控有没有abc这个参数. 如果有,后端要求我们在以后跳转任何url的时候,都要在url携带上这个参数.就变成m....

    实验:IPv6路由的配置与验证.docx

    实验“IPv6路由的配置与验证”主要涵盖了IPv6网络中的关键配置和路由协议的实践操作,旨在让学生深入了解IPv6地址的分配、接口状态检查、路由表查看、静态路由配置,以及动态路由协议RIPng和OSPFv3的设置与验证。...

    vue中监听路由参数的变化及方法

    当路由参数发生变化时,有时我们需要根据新的参数值来更新页面的数据。然而,Vue的生命周期方法,如`mounted`,并不会因为路由参数的改变而再次触发。这时,我们就需要利用Vue的`watch`功能来监听路由参数的变化,...

    详解ElementUI之表单验证、数据绑定、路由跳转

    ElementUI表单验证、数据绑定、路由跳转详解 ElementUI是一个基于Vue.js的组件库,为开发者提供了丰富的UI组件和功能强大的表单验证机制。本文将详细介绍ElementUI的表单验证、数据绑定、路由跳转的实现方法和原理...

    jeecg-boot-2.1 Online表单 vue 路由页面

    jeecg-boot-2.1 Online表单 vue 路由页面 jeecg-boot是一款基于代码生成器的JAVA快速开发平台!采用最新技术,前后端分离架构:SpringBoot 2.x,Ant Design&Vue;,Mybatis,Shiro,JWT。强大的代码生成器让前后端...

    6、路径中的占位符-路由参数1

    Symfony 路由参数占位符 Symfony 框架中,我们可以使用占位符来传递参数,占位符是路由参数的一种,它可以在路由路径中添加变量,以便接受任何参数。在本篇文章中,我们将详细介绍 Symfony 路由参数占位符的使用。 ...

    解决vue-router在同一个路由下切换,取不到变化的路由参数问题

    然而,有时开发者可能会遇到一个特定的问题:在同一个路由下切换时,尽管路由参数发生了变化,但尝试从组件的数据(data)中获取这些参数时,却发现无法获取到最新的值。这个问题在使用Vue Router时比较常见,特别是...

    基于SDN的按需智能路由系统研究与验证.rar

    【标题】: "基于SDN的按需智能路由系统研究与验证" ...通过对SDN基本概念、按需路由原理、智能路由算法、系统验证以及安全挑战的探讨,该报告旨在为SDN在实际网络环境中的应用提供理论支持和实践指导。

    静态路由默认路由动态路由RIP实验

    在IT网络领域,路由是数据传输过程中的关键环节,它决定了数据包如何在不同网络间进行有效传递。本实验主题“静态路由、默认路由、动态路由RIP实验”旨在深入理解这三种路由策略的工作原理与配置方法。接下来,我们...

    vue动态路由:路由参数改变,视图不更新问题的解决

    在Vue.js应用中,动态路由是一种常见的特性,它允许我们根据不同的参数来渲染不同的视图。在本篇文章中,我们将探讨一个关于Vue动态路由的问题,即当路由参数改变时,视图未能随之更新。这个问题主要发生在尝试从一...

    djangoformapi为Django的表单验证创建JSONAPIs

    `django-formapi` 是一个用于 Django 框架的库,它使得开发者能够快速、方便地为 Django 表单验证创建符合 JSONAPI 规范的 RESTful API。这个库的目标是简化处理表单数据的过程,尤其是当你的应用需要通过 API 接收...

Global site tag (gtag.js) - Google Analytics