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

时间:2021-05-25

复制代码 代码如下:
<?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);
?>

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章