Heim >Backend-Entwicklung >PHP-Tutorial >zf框架的校验器使用使用示例(自定义校验器和校验器链)_php实例

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

WBOY
WBOYOriginal
2016-06-07 17:21:30914Durchsuche

复制代码 代码如下:

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

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn