1.关于Illuminate/Validation验证器

  Validation 类用于验证数据以及获取错误消息。

  github地址:github.com/illuminate/validation

  文档地址:https://docs.golaravel.com/docs/4.1/validation/

2.使用composer

  如何使用composer:composer使用

  packagist:https://packagist.org/package...

  composer.json:

{
"require": {
"illuminate/validation": "^5.5"
}
}

3.将vendor引入,自定义类

<?php
/**
* Created by PhpStorm.
* User: Richard
* Date: 2017/11/28
* Time: 10:57
*/
namespace Rester;
class Validator extends \Illuminate\Validation\Factory
{ private static $message = 'ok';
private static $headers =
[
'e' => 'rules/data is empty',
'na' => 'rules/data is not a array'
];
/***
* 创建实例
*
* @return \Illuminate\Validation\Factory
*/
public static function getInstance()
{
static $validator = null;
if ($validator === null) {
$test_translation_path = __DIR__.'/lang';
$test_translation_locale = 'en';
$translation_file_loader = new \Illuminate\Translation\FileLoader(new \Illuminate\Filesystem\Filesystem, $test_translation_path);
$translator = new \Illuminate\Translation\Translator($translation_file_loader, $test_translation_locale);
$validator = new \Illuminate\Validation\Factory($translator);
}
return $validator;
} /**
* @param array $rules 验证规则
* @param array $data 验证数据
* @return bool
*/
public static function validators($rules=[],$data=[])
{
if( empty($rules) || empty($data) )
{
self::$message = self::$headers['e'];
return false;
}
if(is_array($rules) && is_array($data))
{
$v = self::vmake($rules,$data);
if( $v->fails() )
{
self::$message = $v->messages();
return false;
}
return true;
}
self::$message = self::$headers['na'];
return false;
} /**
* 验证实例
* @param $rules
* @param $data
* @return \Illuminate\Validation\Validator
*/
private static function vmake($rules,$data)
{
$v = self::getInstance()->make($data,$rules);
return $v;
} /**
* 获取错误消息
* @return string
*/
public static function getMessage()
{
return self::$message;
}
}

4.在项目中引入自定义类,调用验证

//验证数据demo
public function insert()
{
//验证数据
$data = [
'name' => '1'
];
//验证规则
$rules = [
'name' => 'required|string|min:2|max:5',
];
if (Rester\Validator::validators($rules,$data)) {
echo 'ok';
}else{
echo Rester\Validator::getMessage();
}
}

至此, 大功告成~

  

关于脱离laravel框架使用Illuminate/Validation验证器的更多相关文章

  1. [麦先生]在Laravel框架里实现邮箱验证---发送邮件

    在经过一段时间的使用后,发现在项目中很多地方需要用到用户验证,以短信验证和邮箱验证为主流趋势,小麦总结了如果在Laravel框架中实现发送邮件功能,以后会陆续更上如何实现短信验证..... 在.env ...

  2. 关于laravel框架的Auth::attempt验证失败

    按照官方文档进行认证 发现不管怎么样都是失败 if (Auth::attempt(array('email' => $email, 'password' => $password), tr ...

  3. 基于struts2框架-自定义身份证号验证器

    自定义拦截器的步骤: 1.定义一个验证器的类: > 自定义的验证器都需要实现 Validator接口.  > 可以选择继承 ValidatorSupport 或 FieldValidato ...

  4. Laravel框架 -- Validator 可用的验证规则

    accepted 字段值为 yes, on, 或是 1 时,验证才会通过.这在确认"服务条款"是否同意时很有用. active_url 字段值通过 PHP 函数 checkdnsr ...

  5. laravel框架中注册信息验证

    .路由配置 <?php Route::. 控制器分配页面及验证表单提交内容 <?php .form 表单验证 {{ Form::open(array().slideUp();   < ...

  6. validation验证器指定action中某些方法不需要验证

    今天写代码时,遇到个问题,在一个输入数据的页面有一个按钮,单击会发出请求从数据库中取数据,在这里出现问题,单击该按钮,配置的validation起作用,该请求没有到达后台的action 点击按钮选择作 ...

  7. [麦先生]Laravel框架实现发送短信验证

    今天在做到用户注册和个人中心的安全管理时,我借助实现第三方短信平台在Laravel框架中进行手机验证的设置;  由于我们做的是一个为客户提供医疗咨询和保健品网站,所以对客户个人隐私的保护显得尤为重要, ...

  8. laravel 框架登录 实际操作

    //登录中间件 Route::group(['middleware'=>'checkage'],function (){ Route::get('/mou/list','MouControlle ...

  9. 【Android Developers Training】 93. 创建一个空验证器

    注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer ...

随机推荐

  1. ActiveMQ安装及启动

    最近项目组遇到MQ的问题(项目组用的IBM MQ),突然想回来看看MQ.本来就不是太熟练,闲来无事写写看看. 不多说,首先是安转ActiveMQ,官方网址:http://activemq.apache ...

  2. Struts2实现文件上传报错(三)

    1.具体错误如下 usage: java org.apache.catalina.startup.Catalina [ -config {pathname} ] [ -nonaming ] { -he ...

  3. Apache Hive 基本理论与安装指南

    一.Hive的基本理论 Hive是在HDFS之上的架构,Hive中含有其自身的组件,解释器.编译器.执行器.优化器.解释器用于对脚本进行解释,编译器是对高级语言代码进行编译,执行器是对java代码的执 ...

  4. html基础加强2

    1.表单元素 表单元素一定要提交在form标签里面 2.id和name 所有元素都有ID,但只有表单元素才有name ID不可以重复,name可以重复 name属性的目的时可以将数据提交到服务器.id ...

  5. 一篇关于PHP性能的文章

    一篇关于PHP性能的文章 昨晚清理浏览器收藏夹网址时,发现了http://www.phpbench.com/,想起来应该是2015年发现的一个比较性能的文章,我就点进去看了看,发现还是全英文耶,刚好最 ...

  6. EF6CodeFirst+MVC5+Autofac泛型注册 入门实例

    贴一个EF6 CodeFirst模式结合MVC5和Autofac(泛型注册)的一个入门实例 网上类似的例子实在太少,最近自己也有用到这一块的知识,总结了一下,不要让后人踩了自己踩过的坑. 1:新建三个 ...

  7. Bootstrap下拉菜单的使用(附源码文件)--Bootstrap

    1.Bootstrap下拉菜单的使用,源代码如下:(如有不当之处,还望大佬们指出哈……) <!DOCTYPE html> <html lang="en"> ...

  8. lvs-dr 模式-piranha

    系统: redhat 6.5 mini 机器名 ip vip lvs01(主lvs) 192.168.20.10 192.168.20.254 lvs02(备lvs) 192.168.20.20 rs ...

  9. ThreadPoolExecutor源码分析

    ThreadPoolExecutor是Java自带线程池FixedThreadPool(固定大小). SingleThreadExecutor(单线程).CacheThreadPool (无限大)的具 ...

  10. css3动画实现旋转木马

    写旋转木马的时候,突发奇想想加个遮罩效果,那当然是用box-reflect属性了,然鹅,却被overflow:hidden坑了....... 写的效果就是不出来,太任性了有木有,代码无误呀,也没报错, ...