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

ThinkPHP自定义验证类规则

有时候我们要验证一个参数的格式是否正确,然而ThinkPHP内置的验证规则却没有,那只有去自定义函数了。...今日在研究框架底层时,特意去研究了一下框架的验证底层逻辑,便总结下来(使用的框架是ThinkPHP5.1.37版本的)。...= '1a'; //****** 该验证类为你自定义的验证类,需要使用use进来,具体内容见下方 $testValidate = new TestValidate(); $result...你需要明确以下几个点: 1.验证规则其实在验证类的底层是一个方法的形式. 如内置的require验证,其实就是底层的一个require方法. 2.我们自定义的验证类是继承了父类Validate类的....通过oop思想,我们知道既然继承了父类的,我们可以给父类进行重写、重载等操作. 3.实现自定义方法 通过上面两点,我们就明白我们自定义的方法其实就是类似于在父类中去写了一个我们自定义的方法一样.

2.1K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Laravel 5.5 的自定义验证对象类

    但在 Laravel 5.5 版本中,我们有了新的手段,只要定义一个实现 Illuminate\Contracts\Validation\Rule 接口的类即可实现自定义的验证规则,并可以直接使用。...ImplicitRule { ... } 采用 Laravel 5.5 新增的自定义验证类,可以更好地管理大量的自定义验证规则,而且在 PHPStorm 之类的 IDE 中,从验证代码里快速跳转到对应的验证类的代码也会更方便...匿名函数的自定义验证规则在一次性的简单验证逻辑中用起来确实会很方便,或者是在编码过程中快速测试验证逻辑也很实用。但是总的来说,还是建议采用更具组织性和可读性的自定义验证类。...最佳方法是在编写 Controller 的过程中用匿名函数快速验证自定义规则,然后再把它移到自定义的验证类对象中。...你可以查看该功能在 Laravel 框架的 github 上的 Pull Request,阅读具体的实现代码以及相关的测试代码。

    3K90

    自定义容器类型元素验证,类级别验证(多字段联合验证)

    Bean Validation声明式验证四大级别:字段、属性、容器元素、类 很多人说Bean Validation只能验证单属性(单字段),但我却说它能完成99.99%的Bean验证,不信你可继续阅读本文...:容器元素验证(自定义容器类型)以及类级别验证(也叫多字段联合验证)。...类级别验证(多字段联合验证) 约束也可以放在类级别上(也就说注解标注在类上)。在这种情况下,验证的主体不是单个属性,而是整个对象。...如果验证依赖于对象的几个属性之间的相关性,那么类级别约束就能搞定这一切。...书写测试脚本 这两种方式都可以实现类级别的验证,它俩可以说各有优劣,主要体现在如下方面: @ScriptAssert是内置就提供的,因此使用起来非常的方便和通用。

    1.1K30

    自定义容器类型元素验证,类级别验证(多字段联合验证)

    目录 ✍前言 版本约定 ✍正文 自定义容器类型元素验证 类级别验证(多字段联合验证) 方式一:基于内置的@ScriptAssert实现 方式二:自定义注解方式实现 ✍总结 ✔推荐阅读...Bean Validation声明式验证四大级别:字段、属性、容器元素、类 很多人说Bean Validation只能验证单属性(单字段),但我却说它能完成99.99%的Bean验证,不信你可继续阅读本文...:容器元素验证(自定义容器类型)以及类级别验证(也叫多字段联合验证)。...类级别验证(多字段联合验证) 约束也可以放在类级别上(也就说注解标注在类上)。在这种情况下,验证的主体不是单个属性,而是整个对象。...如果验证依赖于对象的几个属性之间的相关性,那么类级别约束就能搞定这一切。

    97320

    通过匿名函数和验证规则类自定义 Laravel 字段验证规则

    我们可以通过匿名函数和验证规则类两种方式来自定义验证规则。..., 'url' => 'sometimes|url|max:200', 'picture' => 'nullable|string', ]; } 通过创建规则类自定义验证规则...除了通过匿名函数之外,还可以通过创建一个规则类来实现验证规则的自定义: php artisan make:rule SensitiveWordRule 该命令会在 app 目录下创建一个 Rules...'; } 最后,将自定义验证规则的匿名函数修改为实例化自定义规则类即可: public function rules() { return [ 'title' => [...再次提交表单,就可以看到通过规则类自定义的验证规则也生效了: ? 很显然,匿名函数虽然方便,但是解决不了代码复用的问题,通过自定义验证规则类则可以很好的解决,一次定义,多处复用。

    2.9K20

    TQ框架解析(二):自定义基类

    TQ开发框架预置了一套自定义基类。当然,社区版和专业版有一些差别。毕竟一个是免费的,一个是收费的。这些自定义基类是构成开发框架的重要建筑材料!...框架的自定义基类库是 tq_base.prg 和 tq_base.vcx 。以自定义文本框基类为例来简单的予以说明。 上图中显示了此自定义基类所有非默认的属性和方法。...这些几乎是框架所有自定义基类的共性。当然,对于其他自定义基类,可能还拥有自己的特性。你需要自行探索或在帮助文件中寻找答案。...一套具有内在错误处理体系和安全控制体系的开发框架,假设仅仅具有这些,也足够装逼几十分钟了吧 有人会说,这有什么可吹的......好吧,我错了。 框架的自定义基类,不是吭哧吭哧一点点写出来的。...是框架所提供的自定义基类创建器以程序化方式自动创建的!当然,你也可以使用它来创建具有自己特色的一套自定义基类。 仅仅单纯的使用这套几百K的自定义基类就能为自己的应用开发节省 N 多时间。

    11710

    记录hyperf框架表单验证中自定义验证规则和格式化输出

    简介 本文对使用hyperf框架的表单验证中遇到的两个小细节做一个分享。具体的两点如下: 自定义验证异常数据返回格式。该问题主要在下面的第3点体现。 自定义验证规则。该问题主要在下面的第6点体现。...自定义验证异常格式 首选根据官方文档进行操作,安装验证组件。...[Snipaste_2021-06-30_18-38-48] 自定义验证规则 为什么有自定义验证规则呢?...Listener\ValidatorFactoryResolvedListener; return [ ValidatorFactoryResolvedListener::class, ]; 自定义一个独立验证类文件...'money' => ':attribute格式错误', 'attributes' => [ 'money' => '金额', ], 在对应的控制器中使用依赖注入的方式对独立的验证类文件进行注访问

    2.4K10

    Springboot之分组验证以及自定义参数验证

    学习完简单的验证之后发现基本能满足百分之80的验证需求,接下来深入学习下验证。 分组验证 分组验证需要使用到@Validated 这个注解,是spring基于@Valid注解新增的功能。...不过@Validated注解不能放在类中的字段上面,而@Valid注解可以放在类中的字段上面。...自定义验证 当自己的验证规则比较奇特的时候,可以自定义验证 第一步: 创建自定义验证注解 /** * @author 海加尔金鹰 * 注意@Constraint(validatedBy = PhoneValidator.class...) 这个注解 表明具体验证规则在PhoneValidator类里面 */ @Constraint(validatedBy = PhoneValidator.class) @Target({ElementType.METHOD...extends Payload>[] payload() default {}; } 第二步创建具体验证PhoneValidator类 /** * @author 海加尔金鹰 * @date 2020

    1.6K10

    WinForm自定义验证控件

    ,不需要开发人员再次对TextBox的内容进行验证,也不需要在相关的按钮里写判断语句,节省了对内容验证的时间,下面为大家介绍下控件的功能和用法。...分别设置regexTextBox1~5的“验证”栏属性为如下图示: regexTextBox1(正则表达式为:^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]...");   }   regexTextBox5切换到事件面板,找到“验证”项,双击CustomerValidated: ?...全部验证通过后,执行了button1_Click事件: ? 点击button2产生的效果: regexTextBox5调用的是自定义验证事件CustomerValidated进行验证: ? ?...该控件的最大优势在于开发人员无需在对文本框进行任何的验证,也不用编写任何代码进行处理,简化了代码,加快开发速度。

    1.1K10
    领券