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 相关文章推荐
模仿OSO的论坛(三)
Oct 09 PHP
php生成xml简单实例代码
Dec 16 PHP
PHP获取http请求的头信息实现步骤
Dec 16 PHP
PHP Directory 函数的详解
Mar 07 PHP
解析php mysql 事务处理回滚操作(附实例)
Aug 05 PHP
yii2.0使用Plupload实现带缩放功能的多图上传
Dec 22 PHP
详解PHP归并排序的实现
Oct 18 PHP
详解PHP编码转换函数应用技巧
Oct 22 PHP
PHP 根据key 给二维数组分组
Dec 09 PHP
php常用字符函数实例小结
Dec 29 PHP
LAMP环境使用Composer安装Laravel的方法
Mar 25 PHP
安装docker和docker-compose实例详解
Jul 30 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
第二节--PHP5 的对象模型
2006/11/16 PHP
dedecms系统常用术语汇总
2007/04/03 PHP
PHP编程函数安全篇
2013/01/08 PHP
php 在windows下配置虚拟目录的方法介绍
2013/06/26 PHP
PHP通过插入mysql数据来实现多机互锁实例
2014/11/05 PHP
百度工程师讲PHP函数的实现原理及性能分析(三)
2015/05/13 PHP
js 金额格式化来回转换示例
2014/02/23 Javascript
jQuery插件简单实现方法
2015/07/18 Javascript
实例讲解JavaScript中instanceof运算符的用法
2016/06/08 Javascript
input file上传 图片预览功能实例代码
2016/10/25 Javascript
使用JSON作为函数的参数的优缺点
2016/10/27 Javascript
基于BootStrap multiselect.js实现的下拉框联动效果
2017/07/28 Javascript
vue组件 $children,$refs,$parent的使用详解
2017/07/31 Javascript
Bootstrap实现可折叠分组侧边导航菜单
2018/03/07 Javascript
解决低版本的浏览器不支持es6的import问题
2018/03/09 Javascript
npm scripts 使用指南详解
2018/10/08 Javascript
WebGL学习教程之Three.js学习笔记(第一篇)
2019/04/25 Javascript
如何解决js函数防抖、节流出现的问题
2019/06/17 Javascript
layui radio点击事件实现input显示和隐藏的例子
2019/09/02 Javascript
jquery+css3实现的经典弹出层效果示例
2020/05/16 jQuery
Mac下Supervisor进程监控管理工具的安装与配置
2014/12/16 Python
python实现梯度下降算法
2020/03/24 Python
利用python-pypcap抓取带VLAN标签的数据包方法
2019/07/23 Python
python3使用print打印带颜色的字符串代码实例
2019/08/22 Python
python使用celery实现异步任务执行的例子
2019/08/28 Python
python通过SSH登陆linux并操作的实现
2019/10/10 Python
Python如何使用Gitlab API实现批量的合并分支
2019/11/27 Python
你在项目中用到了xml技术的哪些方面?如何实现的?
2014/01/26 面试题
村支部书记群众路线对照检查材料思想汇报
2014/10/08 职场文书
行政执法队伍作风整顿剖析材料
2014/10/11 职场文书
廉政承诺书
2015/01/19 职场文书
营业员岗位职责
2015/02/11 职场文书
学校捐书倡议书
2015/04/27 职场文书
毕业设计致谢词
2015/05/14 职场文书
Pytorch中Softmax和LogSoftmax的使用详解
2021/06/05 Python
Python常用配置文件ini、json、yaml读写总结
2021/07/09 Python