首页  >  文章  >  后端开发  >  ZF框架校验器的使用[自定义校验器与校验器链]

ZF框架校验器的使用[自定义校验器与校验器链]

WBOY
WBOY原创
2016-07-25 08:48:40864浏览
作业练习
  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. ?>
复制代码


声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn