search
Homephp教程php手册zf框架的校验器使用使用示例(自定义校验器和校验器链)

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

复制代码 代码如下:


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 . "
";
    return false;
   }
 }
}

//指定判断的值
$num1 = '15';
//运行校验方法
check_num($num1);
?>

Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

MantisBT

MantisBT

Mantis is an easy-to-deploy web-based defect tracking tool designed to aid in product defect tracking. It requires PHP, MySQL and a web server. Check out our demo and hosting services.

VSCode Windows 64-bit Download

VSCode Windows 64-bit Download

A free and powerful IDE editor launched by Microsoft

SublimeText3 Linux new version

SublimeText3 Linux new version

SublimeText3 Linux latest version

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Integrate Eclipse with SAP NetWeaver application server.

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools