<table cellspacing="0" cellpadding="0"><tr><td class="t_f" id="postmessage_51994"> 作业练习 <div class="blockcode"> <div id="code_u2v"><ol> <li><?php<li>require_once("Zend/Loader.php");<li>//引入校验器类和效验器的功能类(Int),与自定义接口类;<li>Zend_Loader::loadClass('Zend_Validate');<li>Zend_Loader::loadClass('Zend_Validate_Int');<li>Zend_Loader::loadClass('Zend_Validate_Interface');<li>//增加自定义校验器功能类(GongBeiNum)[公倍数]<li>Class GongBeiNum implements Zend_Validate_Interface<li>{<li> //声明接口里的错误信息报告属性<li> protected $_messages = array();<li> //声明接口里的校验方法<li> public function isValid($num)<li> {<li> if (!($num%3==0) && !($num%5==0)) <li> {<li> //如果校验失败,则讲错误信息返回值给错误信息报告属性<li> $this -> _messages[] = "你所输入的数值不是3和5的公倍数!";</li> <li> //终止程序</li> <li> return false;</li> <li> }</li> <li> //返回真</li> <li> return true;</li> <li> }</li> <li> //定义接口的报错方法</li> <li> public function getMessages()</li> <li> {</li> <li> return $this -> _messages;</li> <li> }</li> <li> //定义提取错误信息(可无)</li> <li> public function getErrors()</li> <li> {</li> <li> <li> }</li> <li>}</li> <li>//类外定义检测公倍数方法</li> <li>function check_num($num)</li> <li>{</li> <li> //实例化校验器类</li> <li> $Validate = new Zend_Validate();</li> <li> //添加校验器功能功能类、添加自定义校验器功能类,形成校验器链</li> <li> $Validate -> addValidator(new Zend_Validate_Int())</li> <li> -> addValidator(new GongBeiNum());</li> <li> //校验参数</li> <li> if (!$Validate -> isValid($num)) </li> <li> {</li> <li> //如果错误循环错误信息并输出</li> <li> foreach ($Validate -> getMessages() as $value) </li> <li> {</li> <li> echo $value . "<br>";</li> <li> return false;</li> <li> }</li> <li> }</li> <li>}</li> <li> <li>//指定判断的值</li> <li>$num1 = '15';</li> <li>//运行校验方法</li> <li>check_num($num1);</li> <li>?></li> </ol></div> <em onclick="copycode($('code_u2v'));">复制代码</em> </div> </td></tr></table> <div id="comment_51994" class="cm"> </div> <div id="post_rate_div_51994"></div> <br><br>