zf框架的校验器使用使用示例(自定义校验器和校验器链)


Posted in PHP onMarch 13, 2014
<?php
require_once("Zend/Loader.php");
//引入校验器类和效验器的功能类(Int),与自定义接口类;
Zend_Loader::loadClass('Zend_Validate');
Zend_Loader::loadClass('Zend_Validate_Int');
Zend_Loader::loadClass('Zend_Validate_Interface');
//增加自定义校验器功能类(GongBeiNum)[公倍数]
Class GongBeiNum implements Zend_Validate_Interface
{
 //声明接口里的错误信息报告属性
 protected $_messages = array();
 //声明接口里的校验方法
 public function isValid($num)
 {
  if (!($num%3==0) && !($num%5==0)) 
  {
   //如果校验失败,则讲错误信息返回值给错误信息报告属性
   $this -> _messages[] = "你所输入的数值不是3和5的公倍数!";
   //终止程序
   return false;
  }
  //返回真
  return true;
 }
 //定义接口的报错方法
 public function getMessages()
 {
  return $this -> _messages;
 }
 //定义提取错误信息(可无)
 public function getErrors()
 {
 }
}
//类外定义检测公倍数方法
function check_num($num)
{
 //实例化校验器类
 $Validate = new Zend_Validate();
 //添加校验器功能功能类、添加自定义校验器功能类,形成校验器链
 $Validate -> addValidator(new Zend_Validate_Int())
     -> addValidator(new GongBeiNum());
 //校验参数
 if (!$Validate -> isValid($num)) 
 {
  //如果错误循环错误信息并输出
   foreach ($Validate -> getMessages() as $value) 
   {
    echo $value . "<br>";
    return false;
   }
 }
}
//指定判断的值
$num1 = '15';
//运行校验方法
check_num($num1);
?>
PHP 相关文章推荐
PHP取进制余数函数代码
Jan 19 PHP
PHP 的异常处理、错误的抛出及回调函数等面向对象的错误处理方法
Dec 07 PHP
PHP 清空varnish 缓存的详解(包括指定站点下的)
Jun 20 PHP
浅析php过滤html字符串,防止SQL注入的方法
Jul 02 PHP
PHP内核探索:变量存储与类型使用说明
Jan 30 PHP
PHP添加Xdebug扩展的方法
Feb 12 PHP
php实现zip压缩文件解压缩代码分享(简单易懂)
May 10 PHP
ThinkPHP调试模式与日志记录概述
Aug 22 PHP
php通过session防url攻击方法
Dec 10 PHP
php面向对象与面向过程两种方法给图片添加文字水印
Aug 26 PHP
PHP实现websocket通信的方法示例
Aug 28 PHP
浅谈laravel数据库查询返回的数据形式
Oct 21 PHP
使用PHP导出Redis数据到另一个Redis中的代码
Mar 12 #PHP
PHP的变量类型和作用域详解
Mar 12 #PHP
PHP四大安全策略
Mar 12 #PHP
PHP中4个加速、缓存扩展的区别和选用建议
Mar 12 #PHP
php使用websocket示例详解
Mar 12 #PHP
php截取字符串之截取utf8或gbk编码的中英文字符串示例
Mar 12 #PHP
php实现快速排序的三种方法分享
Mar 12 #PHP
You might like
AMFPHP php远程调用(RPC, Remote Procedure Call)工具 快速入门教程
2010/05/10 PHP
ThinkPHP分组下自定义标签库实例
2014/11/01 PHP
PHP Reflection API详解
2015/05/12 PHP
PHP实现的进度条效果详解
2016/05/03 PHP
php parse_str() 函数的定义和用法
2016/05/23 PHP
强大的jquery插件jqeuryUI做网页对话框效果!简单
2011/04/14 Javascript
Js日期选择自动填充到输入框(界面漂亮兼容火狐)
2013/08/02 Javascript
js对图片base64编码字符串进行解码并输出图像示例
2014/03/17 Javascript
用jQuery向div中添加Html文本内容的简单实现
2016/07/13 Javascript
AngularJS创建自定义指令的方法详解
2016/11/03 Javascript
详解vue+vuex+koa2开发环境搭建及示例开发
2018/01/22 Javascript
在 Linux/Unix 中不重启 Vim 而重新加载 .vimrc 文件的流程
2018/03/21 Javascript
微信小程序授权登录解决方案的代码实例(含未通过授权解决方案)
2019/05/10 Javascript
JQuery获得内容和属性方法解析
2020/05/30 jQuery
微信小程序实现搜索框功能及踩过的坑
2020/06/19 Javascript
Vue中强制组件重新渲染的正确方法
2021/01/03 Vue.js
[00:43]FTP典藏礼包 DOTA2三大英雄霸气新套装
2014/03/21 DOTA
django model去掉unique_together报错的解决方案
2016/10/18 Python
python中numpy基础学习及进行数组和矢量计算
2017/02/12 Python
python机器学习理论与实战(二)决策树
2018/01/19 Python
python调用摄像头显示图像的实例
2018/08/03 Python
Python文件循环写入行时防止覆盖的解决方法
2018/11/09 Python
简单了解Python3里的一些新特性
2019/07/13 Python
Halston Heritage官网:简洁的日装,稍显奢华的晚装
2018/11/20 全球购物
土木工程个人自荐信范文
2013/11/30 职场文书
车祸赔偿收入证明
2014/01/09 职场文书
村级换届选举方案
2014/05/10 职场文书
党员批评与自我批评(5篇)
2014/09/23 职场文书
机关职员工作检讨书
2014/10/23 职场文书
欠条范文
2015/07/03 职场文书
儿子满月酒致辞
2015/07/29 职场文书
毕业酒会致辞
2015/07/29 职场文书
2019让人心动的商业计划书
2019/06/27 职场文书
angular4实现带搜索的下拉框
2022/03/25 Javascript
Java 多态分析
2022/04/26 Java/Android
Python实现信息管理系统
2022/06/05 Python