ZF框架校驗器的使用[自訂校驗器與校驗器鏈]

WBOY
發布: 2016-07-25 08:48:40
原創
897 人瀏覽過
作业练习
  1. require_once("Zend/Loader.php");
  2. //引入校验器类和效验器的功能类(Int),与自定义接口类;
  3. Zend_Loader::loadClass('Zend_Validate');
  4. Zend_Loader::loadClass('Zend_Validate_Int');
  5. Zend_Loader::loadClass('Zend_Validate_Interface');
  6. //增加自定义校验器功能类(GongBeiNum)[公倍数]
  7. Class GongBeiNum implements Zend_Validate_Interface
  8. {
  9. //声明接口里的错误信息报告属性
  10. protected $_messages = array();
  11. //声明接口里的校验方法
  12. public function isValid($num)
  13. {
  14. if (!($num%3==0) && !($num%5==0))
  15. {
  16. //如果校验失败,则讲错误信息返回值给错误信息报告属性
  17. $this -> _messages[] = "你所输入的数值不是3和5的公倍数!";
  18. //终止程序
  19. return false;
  20. }
  21. //返回真
  22. return true;
  23. }
  24. //定义接口的报错方法
  25. public function getMessages()
  26. {
  27. return $this -> _messages;
  28. }
  29. //定义提取错误信息(可无)
  30. public function getErrors()
  31. {
  32. }
  33. }
  34. //类外定义检测公倍数方法
  35. function check_num($num)
  36. {
  37. //实例化校验器类
  38. $Validate = new Zend_Validate();
  39. //添加校验器功能功能类、添加自定义校验器功能类,形成校验器链
  40. $Validate -> addValidator(new Zend_Validate_Int())
  41. -> addValidator(new GongBeiNum());
  42. //校验参数
  43. if (!$Validate -> isValid($num))
  44. {
  45. //如果错误循环错误信息并输出
  46. foreach ($Validate -> getMessages() as $value)
  47. {
  48. echo $value . "
    ";
  49. return false;
  50. }
  51. }
  52. }
  53. //指定判断的值
  54. $num1 = '15';
  55. //运行校验方法
  56. check_num($num1);
  57. ?>
复制代码


來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板