位置: 编程技术 - 正文

Laravel 5.5 的自定义验证对象/类示例代码详解

编辑:rootadmin

推荐整理分享Laravel 5.5 的自定义验证对象/类示例代码详解,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

Laravel 5.5 将提供一个全新的自定义验证规则的对象,以作为原来的 Validator::extend 方法的替代。

Laravel 5.5 将提供一个全新的自定义验证规则的对象,以作为原来的 Validator::extend 方法的替代。。很多时候我们会直接用正则表达式来处理这种特殊的验证,也有时候我们会选择用 Validator::extend 来扩展一个自定义的规则。但在 Laravel 5.5 版本中,我们有了新的手段,只要定义一个实现 IlluminateContractsValidationRule 接口的类即可实现自定义的验证规则,并可以直接使用。

下面是一个简单的示例:

以上代码定义了一个 IsOddValidationRule 的自定义验证类,在 Controller 中要使用这个验证类的话,可以这样写:

同样的效果,也可以通过匿名函数(闭包函数)来实现:

Laravel 5.5 的自定义验证对象/类示例代码详解

在验证的表单项为空值或者不存在的时候,对应的自定义验证规则不会执行。这个与系统自带的验证规则的逻辑是一致的。如果你希望你的自定义验证规则,即使是在对应的表单项为空值时也被执行的话,那么只要把继承的接口从 rule 改成 ImplicitRule 即可:

采用 Laravel 5.5 新增的自定义验证类,可以更好地管理大量的自定义验证规则,而且在 PHPStorm 之类的 IDE 中,从验证代码里快速跳转到对应的验证类的代码也会更方便。毕竟采用 Validator::extend 的话,你只能通过搜索对应验证类名称的字符串来找到规则定义的源代码。

匿名函数的自定义验证规则在一次性的简单验证逻辑中用起来确实会很方便,或者是在编码过程中快速测试验证逻辑也很实用。但是总的来说,还是建议采用更具组织性和可读性的自定义验证类。最佳方法是在编写 Controller 的过程中用匿名函数快速验证自定义规则,然后再把它移到自定义的验证类对象中。

你可以查看该功能在 Laravel 框架的 github 上的 Pull Request ,阅读具体的实现代码以及相关的测试代码。

参考

5.5 的自定义验证对象/类示例代码详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对积木网网站的支持!

利用PHPStorm如何开发Laravel应用详解 前言相信有很多PHP程序员使用[laravel]创建他们的应用程序。[laravel]是一个免费开源的PHPweb应用程序框架。它基于多个Symfony组件,提供了一个开发框架,

Laravel框架中Blade模板的用法示例 简介Blade它不像其他流行的PHP模板引擎那样限制你在视图中使用原生的PHP代码,事实上它就是把Blade视图编译成原生的PHP代码并缓存起来。缓存会在Blade

Laravel框架中VerifyCsrfToken报错问题的解决 前言本文主要给大家介绍了关于Laravel框架中VerifyCsrfToken报错问题的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。

标签: Laravel 5.5 的自定义验证对象/类示例代码详解

本文链接地址:https://www.jiuchutong.com/biancheng/289955.html 转载请保留说明!

上一篇:PHP单例模式与工厂模式详解(php单例模式demo)

下一篇:利用PHPStorm如何开发Laravel应用详解(phpstorm怎么样)

  • 一般纳税人抵扣小规模期间的专票怎么解决
  • 火车票报销抵扣税率
  • 购买工业用地税费
  • 私人口腔诊所会感染艾滋病吗
  • 装饰公司开票内容怎么填
  • 销售使用过的固定资产如何开票
  • 企业进行业务预算的编制技巧
  • 可供出售权益工具投资是非货币
  • 哪些属于不动产权
  • 银行存款的会计处理方法
  • 年化收益率的计算公式
  • 我国流转税的税种组成为
  • 人工材料成本怎么分配
  • 代开专票作废了扣了两次税怎么办?
  • 营改增后混合销售的规定
  • 苗木免税发票可以认证增值税吗
  • 红字发票需要盖章子吗
  • 关于小规模纳税人的说法错误的有
  • 工会没有税号怎么开普票
  • 960011094开票提示
  • 机打发票领回怎么录入
  • 稿酬所得的个税计算
  • 土地出让金产生的利息交契税吗
  • 职工养老金怎么交费
  • iphone6s怎么开启开发者选项
  • 主机 bios
  • 斐讯路由器地址在哪里看
  • 上市公司发行股票会计分录
  • 重装系统后分辨率1920x1080不见了
  • 运行项目报错Couldn't import Django
  • macOS Big Sur 11.2 开发者预览版 Beta如何更新?
  • 经销商授权书是啥意思
  • PHP:ftp_set_option()的用法_FTP函数
  • 出租其取得的不动产是什么意思
  • lmgrd.exe是什么进程
  • 基于Python的flask百战电商流程图
  • 不能抵扣的发票可以做成本吗
  • 土建基础是什么意思
  • 非营利组织免税范围
  • 微信小程序开挂方法
  • 费用的结转是在借方还是贷方
  • php关闭报错
  • php xml转数组
  • 现金流量表补充资料怎么理解
  • 新准则土地使用权计入固定资产还是无形资产
  • php开发程序
  • php源码 数据库
  • 员工辞退补偿金扣个税吗
  • php5.2漏洞
  • js日期选择
  • 货物搬运费会计科目
  • 电子承兑转出需要授权吗
  • 预收账款还可以用吗
  • 银行转账手续费一览表
  • 应付账款数字太大咋办
  • 进项留抵月末要结转吗
  • 关于母子公司的关系的表述,正确的是( )
  • 企业收到退回的银行汇票多余款项时,应作的会计处理有
  • 发票遗失复印件可以入账吗
  • 代收代缴水电费协议
  • 建筑业营改增后税率变化
  • 结账时怎样根据日期填写
  • win10检查文件完整性
  • linux服务端
  • vc6运行程序
  • 手机苹果操作系统
  • win7系统不兼容开不了机
  • ,linux
  • 安卓闹钟软件下载
  • Android5.1 SystemUI 启动流程
  • django应用开发实战
  • javascript学习指南
  • display getSize()
  • android的基础知识
  • 编程 delphi
  • 地税申报打印不了发票
  • 动车票电子发票如何获取
  • 医院等级怎么查询系统
  • 天津本田天虹90摩托车库存
  • 公司的车销售给个人怎么做账
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设