FuelPHP 系列(四) ------ Validate 验证

一、可用规则:

1、required  不能为 null, false or empty string.;

2、required_with  关联某个字段,关联字段有值则该字段必须有值;

3、match_value  两个参数:param1,要匹配的字符;param2,是否严格(true则全等,===);

4、match_pattern  匹配 preg;

5、match_field  匹配 field,比如再次输入密码确认(全等===);

6、match_collection  两个参数:param1,要匹配的array;param2,是否严格;

7、min_length  最小长度;

8、max_length  最大长度;

9、exact_length  长度是否是指定长度;

10、valid_date  两个参数:param1,时间 formate;param2,是否严格(默认为 true);

11、valid_email  单个邮箱验证;

12、valid_emails  多个邮箱验证,参数为分隔符(默认为 commas);

13、valid_url  URL 验证;

14、valid_ip  IP 验证,参数为 ‘ipv4‘ or ‘ipv6‘;

15、numeric_min  数字最小值(不是数字的看做 0);

16、numeric_max  数字最大值(不是数字的看做 0);

17、numeric_between  两个参数:min,max;

18、valid_string  验证 string,参数为 array();

string 验证规则:

FLAG DESCRIPTION
alpha 字母
uppercase 只允许大写字母
lowercase 只允许小写字母
specials 允许特殊字符
numeric 数字
spaces 空格
newlines 换行符
tabs TAB键
dots
commas 逗号
punctuation 允许点、逗号、感叹号、问号、冒号和半冒号
dashes 允许中横线、下划线
singlequotes 单引号
doublequotes 双引号
quotes 允许单引号、双引号
forwardslashes 斜杠
backwardslashes 反斜杠
slashes 允许斜杠、反斜杠
brackets 括号
braces 大括号
utf8 向正则表达式添加UTF8修饰符

二、可扩展验证方法,方法名以 ‘_validation_‘ 开头,例如:

  // 防止重复添加
    public static function _validation_unique($val, $options)
    {
        list($table, $field) = explode(‘.‘, $options);

        $result = DB::select(DB::expr("LOWER (\"$field\")"))
        ->where($field, ‘=‘, Str::lower($val))
        ->from($table)->execute();

        return ! ($result->count() > 0);
    }

    // 判断是否为大写字母
    public function _validation_is_upper($val)
    {
        return $val === strtoupper($val);
    }

*获取当前验证 object,验证 field

//获取当前验证 object
$active = Validation::active();
//获取当前验证字段
$field = Validation::active_field();
$field = $active::actice_field(); 
//当前 field 的 label
$label = $active::active_field()->get_attribute(‘label‘);
//当前验证设置错误信息
Validation::active()->set_message(‘unique‘, ‘The field :label must be unique, but :value has already been used‘);

三、验证方法

$val = Validation::forge();

$val->add_field(‘name‘, ‘名字‘,‘required|unique‘);
//或者
$val->add(‘name‘, ‘名字‘)->add_rule(‘required‘)->add_rule(‘unique‘);

$val->set_message(‘required‘, ‘You have to fill in your :label‘);

//验证
$val->run();

//获取错误信息
$val->error();
$val->error_message()
//获取验证过的信息
$val->validated(‘username‘);

原文地址:https://www.cnblogs.com/rendd/p/9200635.html

时间: 2024-11-05 17:59:59

FuelPHP 系列(四) ------ Validate 验证的相关文章

ASP.NET MVC下的四种验证编程方式[续篇]

在<ASP.NET MVC下的四种验证编程方式>一文中我们介绍了ASP.NET MVC支持的四种服务端验证的编程方式("手工验证"."标注ValidationAttribute特性"."让数据类型实现IValidatableObject或者IDataErrorInfo"),那么在ASP.NET MVC框架内部是如何提供针对这四种不同编程方式的支持的呢?接下来我们就来聊聊这背后的故事. 一.ModelValidator与ModelVal

jQuery.Validate验证库

一.用前必备 官方网站:http://bassistance.de/jquery-plugins/jquery-plugin-validation/ API: http://jquery.bassistance.de/api-browser/plugins.html 当前版本:1.5.5 需要JQuery版本:1.2.6+, 兼容 1.3.2 二.默认校验规则 (1)required:true 必输字段 (2)remote:"check.php" 使用ajax方法调用check.php

jQuery Validate验证框架详解

jQuery校验官网地址:http://bassistance.de/jquery-plugins/jquery-plugin-validation 一.导入js库 <script type="text/javascript" src="<%=path %>/validate/jquery-1.6.2.min.js"></script> <script type="text/javascript" src

【转】jQuery Validate验证框架详解

jQuery校验官网地址:http://bassistance.de/jquery-plugins/jquery-plugin-validation 一.导入js库 <script type="text/javascript" src="<%=path %>/validate/jquery-1.6.2.min.js"></script> <script type="text/javascript" src

So Easy! Oracle在Linux上的安装配置系列四

So Easy! Oracle在Linux上的安装配置系列四  监听器的配置 在创建了数库和各种数据库对象并装载了数据后,下一步是在数据库服务器与使用它的用户之间建立连 接,Oracle Net Services使这种连接成为可能.Oracle Net Services组件必须"存活"在客户机和服务器上,它们一般使用TCP/IP网络协议来建立客户机和数据库服务器之间的网络连接. 本文官方文档位置: http://docs.oracle.com/cd/E11882_01/network.

Java-单机版的书店管理系统(练习设计模块和思想_系列 四(2) )

说明: 本博客为补全上篇-Java-单机版的书店管理系统(练习设计模块和思想_系列 四(1) )的,所以如果不懂,请先看上一篇. 本系列都是我一步一步学习来的, 所以,可能比较适合初学设计模块的人来学. 现在补全我目前写的所以代码: 公共类: 用户类型枚举:UserTypeEnum类 package cn.hncu.bookStore.common; /** * 功能:用户类型的枚举!<br/> * 定义在公共模块.<br/> * 变量:<br/> * ADMIN(1,

ASP.NET MVC下的四种验证编程方式

原文:ASP.NET MVC下的四种验证编程方式 ASP.NET MVC采用Model绑定为目标Action生成了相应的参数列表,但是在真正执行目标Action方法之前,还需要对绑定的参数实施验证以确保其有效性,我们将针对参数的验证成为Model绑定.总地来说,我们可以采用4种不同的编程模式来进行针对绑定参数的验证. 目录 一.手工验证绑定的参数 二.使用ValidationAttribute特性 三.让数据类型实现IValidatableObject接口 四.让数据类型实现IDataError

SQL Server 2008空间数据应用系列四:基础空间对象与函数应用

原文:SQL Server 2008空间数据应用系列四:基础空间对象与函数应用 友情提示,您阅读本篇博文的先决条件如下: 1.本文示例基于Microsoft SQL Server 2008 R2调测. 2.具备 Transact-SQL 编程经验和使用 SQL Server Management Studio 的经验. 3.熟悉或了解Microsoft SQL Server 2008中的空间数据类型. 4.具备相应(比如OGC)的GIS专业理论知识. 5.其他相关知识. SQL Server 2

jQuery Validate验证框架详解(转)

jQuery校验官网地址:http://bassistance.de/jquery-plugins/jquery-plugin-validation 一.导入js库 <script type="text/javascript" src="<%=path %>/validate/jquery-1.6.2.min.js"></script> <script type="text/javascript" src

ASP.NET MVC下的四种验证编程方式【转】

ASP.NET MVC采用Model绑定为目标Action生成了相应的参数列表,但是在真正执行目标Action方法之前,还需要对绑定的参数实施验证以确保其有效 性,我们将针对参数的验证成为Model绑定.总地来说,我们可以采用4种不同的编程模式来进行针对绑定参数的验证. 目录 一.手工验证绑定的参数 二.使用ValidationAttribute特性 三.让数据类型实现IValidatableObject接口 四.让数据类型实现IDataErrorInfo接口 一.手工验证绑定的参数 在 定义具