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 18 PHP
sourcesafe管理phpproj文件的补充说明(downmoon)
Apr 11 PHP
PHP安全性漫谈
Jun 28 PHP
深入apache host的配置详解
Jun 09 PHP
PHP5.5在windows安装使用memcached服务端的方法
Apr 16 PHP
Linux下PHP安装mcrypt扩展模块笔记
Sep 10 PHP
PHP使用正则表达式获取微博中的话题和对象名
Jul 18 PHP
PHP创建PowerPoint2007文档的方法
Dec 10 PHP
Thinkphp实现短信验证注册功能
Oct 18 PHP
使用Yii2实现主从数据库设置
Nov 20 PHP
Zend Framework入门教程之Zend_Mail用法示例
Dec 08 PHP
php实现对短信验证码发送次数的限制实例讲解
Mar 04 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
phpcms手机内容页面添加上一篇和下一篇
2015/06/05 PHP
Web层改进II-用xmlhttp 无声息提交复杂表单
2007/01/22 Javascript
(function(){})()的用法与优点
2007/03/11 Javascript
实用的JS正则表达式(手机号码/IP正则/邮编正则/电话等)
2013/01/11 Javascript
Jquery和JS用外部变量获取Ajax返回的参数值的方法实例(超简单)
2013/06/17 Javascript
关于img的href和src取变量及赋值的方法
2014/04/28 Javascript
js动态添加表格数据使用insertRow和insertCell实现
2014/05/22 Javascript
JavaScript代码应该放在HTML代码哪个位置比较好?
2014/10/16 Javascript
JavaScript中字符串与Unicode编码互相转换的实现方法
2015/12/18 Javascript
js实现水平滚动菜单导航
2017/07/21 Javascript
React Router v4 入坑指南(小结)
2018/04/08 Javascript
javascript将非数值转换为数值
2018/09/13 Javascript
vue刷新页面时去闪烁提升用户体验效果的实现方法
2018/12/10 Javascript
JavaScript判断对象和数组的两种方法
2019/05/31 Javascript
推荐几个不错的console调试技巧实现
2019/12/20 Javascript
解决VUE自定义拖拽指令时 onmouseup 与 click事件冲突问题
2020/07/24 Javascript
Swiper实现导航栏滚动效果
2020/10/16 Javascript
three.js中多线程的使用及性能测试详解
2021/01/07 Javascript
python中mechanize库的简单使用示例
2014/01/10 Python
python检测远程端口是否打开的方法
2015/03/14 Python
详解Python中映射类型(字典)操作符的概念和使用
2015/08/19 Python
详解一种用django_cache实现分布式锁的方式
2019/09/01 Python
python绘制随机网络图形示例
2019/11/21 Python
pycharm实现在虚拟环境中引入别人的项目
2020/03/09 Python
Python判断变量是否是None写法代码实例
2020/10/09 Python
基于HTML5 的人脸识别活体认证的实现方法
2016/06/22 HTML / CSS
北美三大旅游网站之一:Travelocity加拿大
2016/08/20 全球购物
The North Face北面美国官网:美国著名户外品牌
2018/09/15 全球购物
lookfantastic荷兰:在线购买奢华护肤、护发和化妆品
2018/11/27 全球购物
MIRTA官网:手工包,100%意大利制造
2020/02/11 全球购物
英国豪华家具和经典家居饰品购物网站:OKA
2020/06/05 全球购物
运动会广播稿60字
2014/01/15 职场文书
《花木兰》教学反思
2014/04/09 职场文书
带病坚持工作事迹
2014/05/03 职场文书
HTML页面滚动时部分内容位置固定不滚动的实现
2021/04/14 HTML / CSS
Mysql事务索引知识汇总
2022/03/17 MySQL