zf框架的校验器使用使用示例(自定义校验器和校验器链)

2015-01-24信息快讯网

这篇文章主要介绍了zf框架的校验器使用使用示例(自定义校验器和校验器链),需要的朋友可以参考下

<?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); ?>

©2014-2024 dbsqp.com