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 相关文章推荐
Mysql的常用命令
Oct 09 PHP
让你的网站首页自动选择语言转跳
Dec 06 PHP
探讨捕获php错误信息方法的详解
Jun 09 PHP
php的慢速日志引起的Mysql错误问题分析
May 13 PHP
php实现扫描二维码根据浏览器类型访问不同下载地址
Oct 15 PHP
php中fgetcsv()函数用法实例
Nov 28 PHP
Yii框架中memcache用法实例
Dec 03 PHP
Yii实现简单分页的方法
Apr 29 PHP
php封装的page分页类完整实例
Oct 18 PHP
PHPStudy下如何为Apache安装SSL证书的方法步骤
Jan 23 PHP
浅谈php使用curl模拟多线程发送请求
Mar 08 PHP
laravel 数据迁移与 Eloquent ORM的实现方法
Apr 12 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将字符分解为多个字符串的方法
2014/11/22 PHP
php银联网页支付实现方法
2015/03/04 PHP
PHP按指定键值对二维数组进行排序的方法
2015/12/22 PHP
php实现基于pdo的事务处理方法示例
2017/07/21 PHP
php 广告点击统计代码(php+mysql)
2018/02/21 PHP
2020最新版 PhpStudy V8.1版本下载安装使用详解
2020/10/30 PHP
JQUERY获取form表单值的代码
2010/07/17 Javascript
基于jquery的给文章加入关键字链接
2010/10/26 Javascript
jQuery EasyUI 布局之动态添加tabs标签页
2015/11/18 Javascript
jQuery 自定义下拉框(DropDown)附源码下载
2016/07/22 Javascript
JavaScript reduce和reduceRight详解
2016/10/24 Javascript
纯jQuery实现前端分页功能
2017/03/23 jQuery
AngularJS中的promise用法分析
2017/05/19 Javascript
详解React+Koa实现服务端渲染(SSR)
2018/05/23 Javascript
微信小程序常用赋值方法小结
2019/04/30 Javascript
Vue+Django项目部署详解
2019/05/30 Javascript
layui导出所有数据的例子
2019/09/10 Javascript
Python中使用logging模块打印log日志详解
2015/04/05 Python
Python抓取淘宝下拉框关键词的方法
2015/07/08 Python
CentOS 6.X系统下升级Python2.6到Python2.7 的方法
2016/10/12 Python
Python管理Windows服务小脚本
2018/03/12 Python
python多线程之事件Event的使用详解
2018/04/27 Python
Django CBV类的用法详解
2019/07/26 Python
python虚拟环境的安装和配置(virtualenv,virtualenvwrapper)
2019/08/09 Python
Python+OpenCv制作证件图片生成器的操作方法
2019/08/21 Python
使用python去除图片白色像素的实例
2019/12/12 Python
python自定义函数def的应用详解
2020/06/03 Python
HTML5 canvas绘制的玫瑰花效果
2014/05/29 HTML / CSS
YOOX美国官方网站:全球著名的多品牌时尚网络概念店
2016/09/11 全球购物
大学生新闻专业个人自我评价
2013/11/12 职场文书
电子商务专业应届生求职信
2014/05/28 职场文书
服务宗旨标语
2014/07/01 职场文书
法定代表人授权委托书范文
2014/09/22 职场文书
白酒代理协议书范本
2014/10/26 职场文书
复制别人的成功真的会成功吗?
2019/10/17 职场文书
Win11如何默认打开软件界面最大化?Win11默认打开软件界面最大化的方法
2022/07/15 数码科技