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 相关文章推荐
Dedecms常用函数解析
Feb 01 PHP
php列出一个目录下的所有文件的代码
Oct 09 PHP
php实现utf-8和GB2312编码相互转换函数代码
Feb 07 PHP
php防止sql注入示例分析和几种常见攻击正则表达式
Jan 12 PHP
PHP获取MySql新增记录ID值的3种方法
Jun 24 PHP
yii2.0之GridView自定义按钮和链接用法
Dec 15 PHP
PHP中捕获超时事件的方法实例
Feb 12 PHP
PHP+JS实现大规模数据提交的方法
Jul 02 PHP
[原创]ThinkPHP中SHOW_RUN_TIME不能正常显示运行时间的解决方法
Oct 10 PHP
理解PHP中的Session及对Session有效期的控制
Jan 08 PHP
thinkphp分页集成实例
Jul 24 PHP
PHP实现自动发送邮件功能代码(qq 邮箱)
Aug 18 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
简单示例AJAX结合PHP代码实现登录效果代码
2008/07/25 PHP
thinkPHP引入类的方法详解
2016/12/08 PHP
PHP新特性之字节码缓存和内置服务器
2017/08/11 PHP
php ActiveMQ的安装与使用方法图文教程
2020/02/23 PHP
JavaScript 自动分号插入(JavaScript synat:auto semicolon insertion)
2009/11/04 Javascript
高性能web开发 如何加载JS,JS应该放在什么位置?
2010/05/14 Javascript
javascript 密码强度验证规则、打分、验证(给出前端代码,后端代码可根据强度规则翻译)
2010/05/18 Javascript
javascript客户端解决方案 缓存提供程序
2010/07/14 Javascript
JS关闭窗口或JS关闭页面的几种代码分享
2013/10/25 Javascript
最短的IE判断var ie=!-[1,]分析
2014/05/28 Javascript
jQuery使用之处理页面元素用法实例
2015/01/19 Javascript
JQuery分屏指示器图片轮换效果实例
2015/05/21 Javascript
js实现跨域的方法实例详解
2015/06/24 Javascript
JS+CSS实现闪烁字体效果代码
2016/04/05 Javascript
关于vue.js弹窗组件的知识点总结
2016/09/11 Javascript
基于BootStrap multiselect.js实现的下拉框联动效果
2017/07/28 Javascript
vue-cli3项目配置eslint代码规范的完整步骤
2020/09/10 Javascript
Python程序中设置HTTP代理
2016/11/06 Python
Python3读取Excel数据存入MySQL的方法
2018/05/04 Python
运行django项目指定IP和端口的方法
2018/05/14 Python
详解django自定义中间件处理
2018/11/21 Python
python获取地震信息 微信实时推送
2019/06/18 Python
新手如何发布Python项目开源包过程详解
2019/07/11 Python
python实现上传文件到linux指定目录的方法
2020/01/03 Python
python实现连连看游戏
2020/02/14 Python
25个CSS3动画按钮和菜单教程分享
2012/10/03 HTML / CSS
字中字效果的实现【html5实例】
2016/05/03 HTML / CSS
爱尔兰家电数码商城:Currys PC World爱尔兰
2016/07/23 全球购物
西班牙拥有最佳品牌的动物商店:Animalear.com
2018/01/05 全球购物
澳大利亚在线购买葡萄酒:The Wine Collective
2020/02/20 全球购物
施工安全生产承诺书
2014/05/23 职场文书
企业口号大全
2014/06/12 职场文书
学院党的群众路线教育实践活动第一阶段情况汇报
2014/10/25 职场文书
党建工作目标管理责任书
2015/01/29 职场文书
统计员岗位职责范本
2015/04/14 职场文书
PostgreSQL聚合函数介绍以及分组和排序
2022/04/12 PostgreSQL