laravel5.5 自定义验证规则——手机验证RULE
相信很多小伙伴和我一样烦恼,laravel没有自带手机号的验证,每次验证手机号都要写正则这类的规则,每次都是repeat yourself!违背了编码的一个原则,就是Don't repeat yourself!
所以今天有空就像大家介绍一下laravel5.5的一个新特性,RULE的使用。
在你使用laravel5.5之后,在php artisan list之后,你会看到

有一个新命令 make:rule, 这个就是新增的。
这里我们自定义一个手机验证规则php artisan make:rule Mobile
回车之后,我们会在app目录下看到

打开里面的Mobile.php

里面3个函数,第一个自构函数,第二个passes()是我们主要业务逻辑处理的地方,第一个键名参数,第二个是键值参数,第三个函数是错误信息提示函数,当passes函数返回false时调用。
你可以自定义你的错误提示信息,附上我的自定义验证代码
class Mobile implements Rule
{
private $value;
/**
* Create a new rule instance.
*
* @return void
*/ public function __construct()
{
//
} /**
* Determine if the validation rule passes.
*
* @param string $attribute
* @param mixed $value
* @return bool
*/
public function passes($attribute, $value)
{
$this->value = $value;
$phoneHead = array("128", "134", "135", "136", "137", "138", "139", "147",
"150", "151", "152", "157", "158", "159", "182", "183", "184", "187", "188",
"130", "131", "132", "145", "155", "156", "173", "175", "176", "185", "186",
"133", "153", "180", "181", "189", "170", "171", "177", "178", '199'); if(strlen($value) == 11 && is_numeric($value)) {
$head = substr($value,0,3);
foreach($phoneHead as $getHead) {
if($getHead == $head) {
return true;
}
}
}
return false;
} /**
* Get the validation error message.
*
* @return string
*/
public function message()
{
return "无效的手机号:" . $this->value;
}
}
是不是很简单。定义好验证规则后,使用起来就特别方便啦~~~
在request文件中 new Mobile() 就可以了

再也不用写复杂的正则啦。
本文属于个人原创,欢迎转载,转载请附链接:https://www.cnblogs.com/x-x-j/p/9287536.html
laravel5.5 自定义验证规则——手机验证RULE的更多相关文章
- MVC验证05-自定义验证规则、验证2个属性值不等
原文:MVC验证05-自定义验证规则.验证2个属性值不等 本文体验2个属性值不等.即当一个属性输入值,另外一个属性输入的值不能和第一个属性值相等.相关文章包括: MVC验证01-基础.远程验证 M ...
- Sping POJO中如何添加验证规则和验证消息提示
1.示例,验证规则和错误提示作为注解写在声明变量的地方 @NotNull private long id; @NotNull @Size(min = 2, max = 30,message=" ...
- ASP.NET MVC验证 - 自定义验证规则、验证2个属性值不等【待验证】
提示:保存后才提示错误信息 自定义验证特性,继承ValidationAttribute并实现IClientValidatable 这次重写了基类的IsValid()方法的另外一个重载,因为该重载包含了 ...
- Yii2 注册表单验证规则 手机注册时候使用短信验证码
public function rules() { return [ ['username', 'filter', 'filter' => 'trim'], ['username', 'requ ...
- ThinkPhp5.0模型验证规则
Tp5提供了模型数据规则的验证功能,用于在数据save或者update前验证数据的有效性.Tp5提供校验规则的类为\Think\Validate,默认提供的校验规则可以查看该文件. 在Model文件中 ...
- JQuery validate验证规则
//定义中文消息 var cnmsg = { required: “必选字段”, remote: “请修正该字段”, email: “请输入正确格式的电子邮件”, url: “请输入合法的网址”, d ...
- 9、 Struts2验证(声明式验证、自定义验证器)
1. 什么是Struts2 验证器 一个健壮的 web 应用程序必须确保用户输入是合法.有效的. Struts2 的输入验证 基于 XWork Validation Framework 的声明式验证: ...
- Thinkphp 1.验证规则 2.静态定义 3.动态验证
一.验证规则 数据验证可以对表单中的字段进行非法的验证操作.一般提供了两种验证方式: 静态定 义($_validate 属性)和动态验证(validate()方法). //验证规则 array( ar ...
- jquery validate 自定义验证方法 日期验证
jquery validate有很多验证规则,但是更多的时候,需要根据特定的情况进行自定义验证规则. 这里就来聊一聊jquery validate的自定义验证. jquery validate有一个方 ...
随机推荐
- Win7/Vista/Server2008下VS 环境 调试调用 HTTP.SYS 无法启动监听服务及启动后其他机器无法访问端口
一. VS调试在Win7(vista系列)操作系统下 HttpListener无法绑定多个 指定IP.端口问题 来自:http://www.cnblogs.com/ryhan/p/4195693.ht ...
- 基于CommonKADS方法论实现知识库系统
说明:本文是Knowledge-based systems with thecommonKADS method文章的翻译. 一.知识库系统的背景 1. 什么是知识库系统(KBS) 知识库系统是人工智能 ...
- httpclient文件下载
http://blog.csdn.net/nupt123456789/article/details/42721003
- PHP根据ASCII码返回具体的字符
根据ASCII码返回具体的字符,在php中可以使用函数 chr(); 如:大写字母A的 ASCII码是 65, 所以: <?php echo chr(65);//结果是大写字母 A ?> ...
- IdentityServer4授权模式应用场景
OpenID 和 OAuth 的区别 IdentityServer4,NET Core下的安全框架 客户端模式(Client Credentials) 密码模式(resource owner pass ...
- Python基础(6) - 基本语句
Python print(在Python 3.0中就变成了函数了) print语句是把对象用文本化的形式输出到标准的输出流上. Operation Interpretation print spam ...
- 【httpwatch】httpwatch对测试的应用
HttpWatch是一款网页数据分析工具,是浏览器插件,集成在IE浏览器的工具栏中.主要可以用来帮忙我们查看及分析HTTP请求的:Cookie.请求参数.请求头信息.响应头信息.响应状态.响应正文等内 ...
- Spring初始化日志
Spring启动时的日志: 2013-11-22 14:55:59:319[INFO]: FrameworkServlet 'spring3': initialization completed in ...
- javascript typeof 和 instanceof 的区别和联系
这篇文章是我看完<JavaScript高级程序设计(第2版)>书籍的随笔文章,目的只有一个,以备自己和网友们方便参考和记忆! typeof是什么? typeof 是一个操作 ...
- Backbone之温故而知新1-MVC
在忙碌了一段时间之后,又有了空余时间来学习新的东西,自从上次研究了backbone之后,一直不得入门,今天有时间有温故了一次,有了些许进步在此记录下, 在开始之前,不得不提一下我的朋友给了我“豆瓣音乐 ...