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中实现汉字转区位码应用源码实例解析
Jun 14 PHP
php中++i 与 i++ 的区别
Aug 08 PHP
单点登录 Ucenter示例分析
Oct 29 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十三)
Jun 26 PHP
Linux中为php配置伪静态
Dec 17 PHP
php判断邮箱地址是否存在的方法
Feb 13 PHP
PHP简单实现文本计数器的方法
Apr 28 PHP
PHP+MySql+jQuery实现的&quot;顶&quot;和&quot;踩&quot;投票功能
May 21 PHP
PHP安装GeoIP扩展根据IP获取地理位置及计算距离的方法
Jul 01 PHP
Yii2中事务的使用实例代码详解
Sep 07 PHP
php使用CutyCapt实现网页截图保存的方法
Oct 03 PHP
php 策略模式原理与应用深入理解
Sep 25 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
php 无法加载mcrypt.dll的解决办法
2013/04/03 PHP
Php output buffering缓存及程序缓存深入解析
2013/07/15 PHP
php通过curl添加cookie伪造登陆抓取数据的方法
2016/04/02 PHP
javascript web页面刷新的方法收集
2009/07/02 Javascript
javascript中的delete使用详解
2013/04/11 Javascript
如何将一个String和多个String值进行比较思路分析
2013/04/22 Javascript
使用AngularJS创建自定义的过滤器的方法
2015/06/18 Javascript
标准的js无缝滚动效果
2016/08/30 Javascript
angular2+nodejs实现图片上传功能
2017/03/27 NodeJs
vee-validate vue 2.0自定义表单验证的实例
2018/08/28 Javascript
js常见遍历操作小结
2019/06/06 Javascript
vue实现滑动切换效果(仅在手机模式下可用)
2020/06/29 Javascript
vue-router之解决addRoutes使用遇到的坑
2020/07/19 Javascript
Python爬虫学习之获取指定网页源码
2019/07/30 Python
Python Django 前后端分离 API的方法
2019/08/28 Python
Python 实现PS滤镜中的径向模糊特效
2020/12/03 Python
CSS3 特效范例整理
2011/08/22 HTML / CSS
HTML5 Video标签的属性、方法和事件汇总介绍
2015/04/24 HTML / CSS
美国复古街头服饰精品店:Need Supply Co.
2017/02/22 全球购物
世界上最好的旅行夹克:BauBax
2018/12/23 全球购物
Kipling意大利官网:世界著名的时尚休闲包袋品牌
2019/06/05 全球购物
接口中的方法可以是abstract的吗
2015/07/23 面试题
大学生求职自荐信
2013/12/12 职场文书
历史教育专业个人求职信
2013/12/13 职场文书
中英文自我评价常用句型
2013/12/19 职场文书
分厂厂长岗位职责
2013/12/29 职场文书
超市总经理岗位职责
2014/02/02 职场文书
大学运动会入场词
2014/02/22 职场文书
平安工地建设方案
2014/05/06 职场文书
2014年征兵标语
2014/06/20 职场文书
街道党工委党的群众路线教育实践活动对照检查材料思想汇报
2014/10/05 职场文书
2014年留守儿童工作总结
2014/12/10 职场文书
2015年中职班主任工作总结
2015/05/25 职场文书
Nginx配置https的实现
2021/11/27 Servers
关于Vue中的options选项
2022/03/22 Vue.js
JavaScript中的LHS和RHS分析详情
2022/04/06 Javascript