首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Laravel请求-如何在规则()中知道父/目标类名称

在Laravel中,可以通过使用Rule类的passes方法来实现在规则中获取父/目标类名称的需求。

首先,我们需要创建一个自定义的验证规则类,可以命名为ParentTargetRule。在该类中,我们需要实现passes方法来进行验证逻辑的编写。在passes方法中,我们可以通过$attribute参数获取当前属性的名称,通过$value参数获取当前属性的值。然后,我们可以使用get_class函数获取到父/目标类的名称。

下面是一个示例的代码:

代码语言:txt
复制
use Illuminate\Contracts\Validation\Rule;

class ParentTargetRule implements Rule
{
    public function passes($attribute, $value)
    {
        $parentTarget = get_class($value);
        
        // 在这里可以根据父/目标类名称进行验证逻辑的编写
        
        return true; // 返回验证结果
    }

    public function message()
    {
        return 'The validation error message.';
    }
}

在上述代码中,我们可以根据$parentTarget变量的值进行验证逻辑的编写,例如判断父/目标类是否符合特定的条件。

接下来,我们可以在使用该验证规则的地方进行调用。假设我们有一个表单请求类MyRequest,其中有一个字段target需要使用该验证规则进行验证。我们可以在rules方法中添加如下代码:

代码语言:txt
复制
public function rules()
{
    return [
        'target' => ['required', new ParentTargetRule],
    ];
}

在上述代码中,我们将ParentTargetRule作为验证规则的一个元素添加到target字段的验证规则中。

这样,当我们使用MyRequest类进行表单验证时,Laravel会自动调用ParentTargetRule类的passes方法进行验证,并根据返回的结果判断验证是否通过。

关于Laravel的更多信息和使用方法,可以参考腾讯云的Laravel产品介绍

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • Laravel学习笔记之bootstrap源码解析

    说明:Laravel在把Request通过管道Pipeline送入中间件Middleware和路由Router之前,还做了程序的启动Bootstrap工作,本文主要学习相关源码,看看Laravel启动程序做了哪些具体工作,并将个人的研究心得分享出来,希望对别人有所帮助。Laravel在入口index.php时先加载Composer加载器:Laravel学习笔记之Composer自动加载,然后进行Application的实例化:Laravel学习笔记之IoC Container实例化源码解析,得到实例化后的Application对象再从容器中解析出Kernel服务,然后进行Request实例化(Request实例化下次再聊),然后进行Bootstrap操作启动程序,再通过Pipeline送到Middleware:Laravel学习笔记之Middleware源码解析,然后经过路由映射找到对该请求的操作action(以后再聊),生成Response对象经过Kernel的send()发送给Client。本文主要聊下程序的启动操作,主要做了哪些准备工作。

    00

    Laravel5.3之bootstrap源码解析

    说明:Laravel在把Request通过管道Pipeline送入中间件Middleware和路由Router之前,还做了程序的启动Bootstrap工作,本文主要学习相关源码,看看Laravel启动程序做了哪些具体工作,并将个人的研究心得分享出来,希望对别人有所帮助。Laravel在入口index.php时先加载Composer加载器:Laravel5.2之Composer自动加载,然后进行Application的实例化:Laravel5.3之IoC Container实例化源码解析,得到实例化后的Application对象再从容器中解析出Kernel服务,然后进行Request实例化(Request实例化下次再聊),然后进行Bootstrap操作启动程序,再通过Pipeline送到Middleware:Laravel5.3之Middleware源码解析,然后经过路由映射找到对该请求的操作action(以后再聊),生成Response对象经过Kernel的send()发送给Client。本文主要聊下程序的启动操作,主要做了哪些准备工作。

    05

    详解Laravel服务容器的绑定与解析

    老实说,第一次老大让我看laravel框架手册的那天早上,我是很绝望的,因为真的没接触过,对我这种渣渣来说,laravel的入门门槛确实有点高了,但还是得硬着头皮看下去(虽然到现在我还有很多没看懂,也没用过)。   后面慢慢根据公司项目的代码对laravel也慢慢熟悉起来了,但还是停留在一些表面的功能,例如依赖注入,ORM操作,用户认证这些和我项目业务逻辑相关的操作,然后对于一些架构基础的,例如服务提供器,服务容器,中间件,Redis等这些一开始就要设置好的东西,我倒是没实际操作过(因为老大一开始就做好了),所以看手册还是有点懵。   所以有空的时候逛逛论坛,搜下Google就发现许多关于laravel核心架构的介绍,以及如何使用的网站(确实看完后再去看手册就好理解多了),下面就根据一个我觉得不错的网站上面的教学来记录一下laravel核心架构的学习 网站地址:https://laraweb.net/ 这是一个日本的网站,我觉得挺适合新手的,内容用浏览器翻译过来就ok了,毕竟日文直翻过来很好理解的

    03
    领券