Zend_Validate.xml 5.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. <sect1 id="zend.validate.introduction">
  2. <title>Введение<!--Introduction--></title>
  3. <para>
  4. Компонента Zend_Validate предоставляет набор наиболее часто используемых валидаторов. Она также предоставляет простой механизм формирования цепочки валидаторов, посредством которого к одним и тем же данным может быть применено несколько валидаторов в порядке, заданном пользователем.
  5. <!--
  6. The Zend_Validate component provides a set of commonly needed validators. It also provides a simple
  7. validator chaining mechanism by which multiple validators may be applied to a single datum in a
  8. user-defined order.
  9. -->
  10. </para>
  11. <para>
  12. Что такое валидатор?
  13. <!--
  14. <emphasis role="strong">What is a validator?</emphasis>
  15. -->
  16. </para>
  17. <para>
  18. Валидатор проверяет входные данные на предмет соответствия некоторым требованиям и возвращает результат булевого типа. Если входные данные не соответствуют требованиям, то валидатор может предоставить информацию о том, какому требованию (требованиям) не соответствуют входные данные.
  19. <!--
  20. A validator examines its input with respect to some requirements and produces a boolean result -
  21. whether the input successfully validates against the requirements. If the input does not meet the
  22. requirements, a validator may additionally provide information about which requirement(s) the input
  23. does not meet.
  24. -->
  25. </para>
  26. <para>
  27. Например, веб-приложение может требовать, чтобы имя пользователя было длиной от 6 до 12 символов и содержало только алфавитно-цифровые символы. Для того, чтобы проверить, соответствует ли имя пользователя этим требованиям, можно использовать валидатор. Если выбранное имя пользователя не соответствует одному из требований (или обоим требованиям), то будет также полезно знать, каким именно требованиям не соответствует имя пользователя.
  28. <!--
  29. For example, a web application might require that a username be between six and twelve characters in
  30. length and may only contain alphanumeric characters. A validator can be used for ensuring that
  31. usernames meet these requirements. If a chosen username does not meet one or both of the requirements,
  32. it would be useful to know which of the requirements the username fails to meet.
  33. -->
  34. </para>
  35. <para>
  36. Такое определение валидации дает основу для <code>Zend_Validate_Interface</code>, который определяет два метода - <code>isValid()</code> и <code>getMessages()</code>. Метод <code>isValid()</code> выполняет валидацию переданного значения, возвращая <code>true</code> тогда и только тогда, когда значение прошло проверку по критериям валидации. Если <code>isValid()</code> возвращает <code>false</code>, то <code>getMessages()</code> используется для получения массива сообщений, объясняющих, по каким причинам валидация не была пройдена.
  37. <!--
  38. Having defined validation in this way provides the foundation for
  39. <code>Zend_Validate_Interface</code>, which defines two methods, <code>isValid()</code> and
  40. <code>getMessages()</code>. The <code>isValid()</code> method performs validation upon the provided
  41. value, returning <code>true</code> if and only if the value passes against the validation criteria. If
  42. <code>isValid()</code> returns <code>false</code>, the <code>getMessages()</code> is provided to
  43. return an array of messages explaining the reason(s) for validation failure.
  44. -->
  45. </para>
  46. <note>
  47. <para>
  48. <code>getMessages()</code> возвращает сообщения ошибок валидации только для последнего вызова <code>isValid()</code>, поскольку <code>isValid()</code> удаляет все сообщения, существующие с предыдущего вызова <code>isValid()</code>.
  49. <!--
  50. The <code>getMessages()</code> returns validation failure messages for the most recent
  51. <code>isValid()</code> call only, since <code>isValid()</code> clears any messages existing from a previous <code>isValid()</code> call.
  52. -->
  53. </para>
  54. </note>
  55. <para>
  56. Следующий пример демонстрирует проверку адреса e-mail:
  57. <!--
  58. The following example illustrates validation of an e-mail address:
  59. -->
  60. <programlisting role="php"><![CDATA[<?php
  61. require_once 'Zend/Validate/EmailAddress.php';
  62. $validator = new Zend_Validate_EmailAddress();
  63. if ($validator->isValid($email)) {
  64. // email прошел валидацию
  65. } else {
  66. // email не прошел валидацию; вывод причин этого
  67. foreach ($validator->getMessages() as $message) {
  68. echo "$message\n";
  69. }
  70. }
  71. ?>]]></programlisting>
  72. </para>
  73. </sect1>
  74. <!--
  75. vim:se ts=4 sw=4 et:
  76. -->