位置: 编程技术 - 正文
推荐整理分享Laravel 5.5 的自定义验证对象/类示例代码详解,希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!
Laravel 5.5 将提供一个全新的自定义验证规则的对象,以作为原来的 Validator::extend 方法的替代。
Laravel 5.5 将提供一个全新的自定义验证规则的对象,以作为原来的 Validator::extend 方法的替代。。很多时候我们会直接用正则表达式来处理这种特殊的验证,也有时候我们会选择用 Validator::extend 来扩展一个自定义的规则。但在 Laravel 5.5 版本中,我们有了新的手段,只要定义一个实现 IlluminateContractsValidationRule 接口的类即可实现自定义的验证规则,并可以直接使用。
下面是一个简单的示例:
以上代码定义了一个 IsOddValidationRule 的自定义验证类,在 Controller 中要使用这个验证类的话,可以这样写:
同样的效果,也可以通过匿名函数(闭包函数)来实现:
在验证的表单项为空值或者不存在的时候,对应的自定义验证规则不会执行。这个与系统自带的验证规则的逻辑是一致的。如果你希望你的自定义验证规则,即使是在对应的表单项为空值时也被执行的话,那么只要把继承的接口从 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怎么样)
友情链接: 武汉网站建设