广告
返回顶部
首页 > 资讯 > 精选 >Laravel如何自定义验证对象
  • 723
分享到

Laravel如何自定义验证对象

2023-07-04 18:07:30 723人浏览 独家记忆
摘要

这篇文章主要介绍“Laravel如何自定义验证对象”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Laravel如何自定义验证对象”文章能帮助大家解决问题。Laravel 5.5 将提供一个全新的自定

这篇文章主要介绍“Laravel如何自定义验证对象”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Laravel如何自定义验证对象”文章能帮助大家解决问题。

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

下面是一个简单的示例:

use Illuminate\Contracts\Validation\Rule;class IsOddValidationRule implements Rule{  public function passes($attributes, $value)  {    return ($value % 2 !== 0);  }  public function message()  {    return ':attribute 必须是奇数';  }}

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

public function handlFORM(Request $request){  $this->validate($request, [    'oddField' => [new IsOddValidationRule]  ]);}

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

public function handleForm(Request $request){  $this->validate($request, [    'oddField' => [function($attributes, $value, $fail) {      if ($value % 2 === 0) {        $fail(':attribute 必须是奇数!');      }    }]  ]);}

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

class IsOddValidationRule implements ImplicitRule{  ...}

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

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

Laravel 是什么

Laravel 是一套简洁、优雅的php web开发框架。它可以让你从面条一样杂乱的代码中解脱出来;它可以帮你构建一个完美的网络APP,而且每行代码都可以简洁、富于表达力。

关于“Laravel如何自定义验证对象”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注编程网精选频道,小编每天都会为大家更新不同的知识点。

--结束END--

本文标题: Laravel如何自定义验证对象

本文链接: https://www.lsjlt.com/news/346750.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Laravel如何自定义验证对象
    这篇文章主要介绍“Laravel如何自定义验证对象”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Laravel如何自定义验证对象”文章能帮助大家解决问题。Laravel 5.5 将提供一个全新的自定...
    99+
    2023-07-04
  • 自定义 Laravel 表单验证规则 – 通过 API 来验证
    我们所有的人都知道 Laravel 提供了一个非常方便的方式来验证表单,使用表格验证。但是你有没有发现自己需要使用第三方的 API 来验证一个表单字段?我最近在一个项目中就遇到了这个需求。我为一个第三方服务保存了一个 API 密钥,并被要求...
    99+
    2023-08-07
    api 验证表单 Laravel
  • ADO.NET如何自定义对象
    这篇文章主要讲解了“ADO.NET如何自定义对象”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“ADO.NET如何自定义对象”吧!ADO.NET实体框架提供了相应的工具,以便根据 实体数据模型...
    99+
    2023-06-17
  • Python中如何自定义密码验证
    这篇文章主要介绍“Python中如何自定义密码验证”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Python中如何自定义密码验证”文章能帮助大家解决问题。下面是重构后的代码:from st...
    99+
    2023-06-29
  • 关于element中对el-input自定义验证规则
    目录element对el-input 自定义验证规则自定义校验传入自定义参数element-ui自定义表单验证,但是不出现小红心了element对el-input 自定义验证规则 首...
    99+
    2022-11-13
    element中el-input 自定义验证规则 el-input自定义验证
  • vue中element如何自定义表单验证请求后端接口验证
    小编给大家分享一下vue中element如何自定义表单验证请求后端接口验证,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!做vue...
    99+
    2022-10-19
  • DreamWeaver CS3中如何实现SPRY的自定义验证
    这篇文章将为大家详细讲解有关DreamWeaver CS3中如何实现SPRY的自定义验证,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。代码如下:<span id="sprytextfiel...
    99+
    2023-06-08
  • LazyCaptcha如何自定义随机验证码和字体
    这篇文章将为大家详细讲解有关LazyCaptcha如何自定义随机验证码和字体,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。介绍LazyCaptcha是仿EasyCaptcha和SimpleCaptcha,...
    99+
    2023-06-29
  • jquery如何定义对象
    在jquery中定义对象的方法:1.新建html项目,引入jquery;2.使用{}定义对象;3.使用eval方法为对象添加属性;具体步骤如下:首先,新建一个html项目,并在项目中引入jquery;<script type=&quo...
    99+
    2022-10-12
  • php如何定义对象
    在php中定义对象的方法通过变量定义对象$clsName = 'Person';$obj2 = new $clsName();echo '类名:'....
    99+
    2022-10-21
  • vue elementUI如何实现自定义正则规则验证
    这篇文章给大家分享的是有关vue elementUI如何实现自定义正则规则验证的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。项目场景:常见的表单填写中都会遇到,比如新增信息,修改信息等,如下图相信大家对...
    99+
    2023-06-29
  • jquery如何定义json对象
    在jquery中定义json对象的方法:1.新建html项目,引入jquery;2.使用json字符串定义json对象;3.使用JSON.parse方法解析json对象;具体步骤如下:首先,新建一个html项目,并在项目中引入jquery;...
    99+
    2022-10-09
  • ORACLE中如何自定义系统验证的错误信息
    这篇文章将为大家详细讲解有关ORACLE中如何自定义系统验证的错误信息,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。在ADF应用中,生成的EO都会自动生成部分约束,如必填...
    99+
    2022-10-19
  • Laravel如何自定义500错误页面
    这篇文章主要介绍了Laravel如何自定义500错误页面的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Laravel如何自定义500错误页面文章都会有所收获,下面我们一起来看看吧。Laravel 5.1中500...
    99+
    2023-07-04
  • js如何实现对象验证方式
    小编给大家分享一下js如何实现对象验证方式,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!对象验证方式如果我们有一个这样的对象:const parent&...
    99+
    2023-06-03
  • vue如何定义数组对象
    在vue中定义数组对象的方法:1.新建vue.js项目;2使用personQueryList方法定义数组对象;具体步骤如下:首先,在vue-cli中创建一个vue.js项目;vue create project-namevue.js项目创建...
    99+
    2022-10-06
  • JavaScript如何定义对象数组
    本篇内容介绍了“JavaScript如何定义对象数组”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!数组对象用来在单独的变量名中存储一系列的值...
    99+
    2023-06-20
  • Angular如何使用输入框实现自定义验证功能
    这篇文章将为大家详细讲解有关Angular如何使用输入框实现自定义验证功能,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。此插件使用angular.js、JQuery实现。...
    99+
    2022-10-19
  • Node.js如何自定义对象事件的监听与发射
    本文小编为大家详细介绍“Node.js如何自定义对象事件的监听与发射”,内容详细,步骤清晰,细节处理妥当,希望这篇“Node.js如何自定义对象事件的监听与发射”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。一、N...
    99+
    2023-07-02
  • php如何定义一个空对象
    在php中定义空对象的方法有以下几种使用new Cfg()定义空对象$girl = new Cfg();$girl->name = 'tom';echo $girl->name . "";使用new stdClass()语句定义空对象$bo...
    99+
    2022-10-05
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作