ホームページ  >  記事  >  バックエンド開発  >  ZF フレームワークバリデーターの使用 [カスタムバリデーターとバリデーターチェーン]

ZF フレームワークバリデーターの使用 [カスタムバリデーターとバリデーターチェーン]

WBOY
WBOYオリジナル
2016-07-25 08:48:40861ブラウズ
宿題の練習
  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. クラス GongBeiNum は 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. // true を返す
  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. //バリデーター関数クラスを追加し、カスタムバリデーター関数クラスを追加してバリデーターを形成しますchain
  40. $Validate - > addValidator(new Zend_Validate_Int())
  41. -> addValidator(new GongBeiNum());
  42. //パラメータを検証します
  43. if (!$Validate -> isValid($num))
  44. {
  45. / /Loop if error エラー メッセージと出力
  46. foreach ($Validate -> getMessages() as $value)
  47. {
  48. echo $value . "
    ";
  49. return false;
  50. }
  51. }
  52. }
  53. / /判定を指定 Value
  54. $num1 = '15';
  55. //チェックメソッドを実行
  56. check_num($num1);
  57. ?>
コードをコピー


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
前の記事:PHPツール次の記事:PHPツール