CakePHP - Manual/CommonTasks/DataValidation/CoreRules /wiki/Manual/CommonTasks/DataValidation/CoreRules History/revisions of CakePHP/Manual/CommonTasks/DataValidation/CoreRules en-us 2009-04-09 13:00:53 /wiki/Manual/CommonTasks/DataValidation/CoreRules/show?time=2009-04-09+13%3A00%3A53 <div class="pageBefore"><img src="/wiki_/images/z.gif" width="1" height="1" border="0" alt="" style="display:block" align="top" /></div><div class="page"> <b>Сравнение версий <a name=".manual.commontasks.datavalidation.corerules" href="/wiki/Manual/CommonTasks/DataValidation/CoreRules" class="">/Manual&nbsp;/&nbsp;Common&nbsp;Tasks&nbsp;/&nbsp;Data&nbsp;Validation&nbsp;/&nbsp;Core&nbsp;Rules</a> за <a href="/wiki/Manual/CommonTasks/DataValidation/CoreRules?time=2009-04-09+13%3A00%3A53">2009-04-09 13:00:53</a> и <a href="/wiki/Manual/CommonTasks/DataValidation/CoreRules">2009-04-09 13:01:30</a></b><br /> <br /> <b>Добавлено:</b><br /> <div class="additions">Для&nbsp;проверки того, что&nbsp;протокол присутствует в&nbsp;url, доступен строгий режим, например:</div><br /> <b>Удалено:</b><br /> <div class="deletions">Для&nbsp;проверки того, что&nbsp;протокол есть в&nbsp;url, доступен строгий режим, например:</div></div> 2009-04-09 12:36:41 /wiki/Manual/CommonTasks/DataValidation/CoreRules/show?time=2009-04-09+12%3A36%3A41 <div class="pageBefore"><img src="/wiki_/images/z.gif" width="1" height="1" border="0" alt="" style="display:block" align="top" /></div><div class="page"> <b>Сравнение версий <a href="/wiki/Manual/CommonTasks/DataValidation/CoreRules" class="">/Manual&nbsp;/&nbsp;Common&nbsp;Tasks&nbsp;/&nbsp;Data&nbsp;Validation&nbsp;/&nbsp;Core&nbsp;Rules</a> за <a href="/wiki/Manual/CommonTasks/DataValidation/CoreRules?time=2009-04-09+12%3A36%3A41">2009-04-09 12:36:41</a> и <a href="/wiki/Manual/CommonTasks/DataValidation/CoreRules?time=2009-04-09+13%3A00%3A53">2009-04-09 13:00:53</a></b><br /> <br /> <b>Добавлено:</b><br /> <div class="additions">Не&nbsp;используйте это&nbsp;правило для&nbsp;multiple select input, так&nbsp;как это&nbsp;вызовет ошибку. <br /> Используйте вместо этого &ndash; &#147;multiple&#148;. <br /> Phone проводит проверку телефонных номеров US. Если вы&nbsp;хотите проверить не-US телефонный номер, то&nbsp;вы можете передать вторым параметром регулярное выражение.<br /> <div class="indent"><div class="indent">'phone' =&gt; array(<br /> <div class="indent"><div class="indent">'rule' =&gt; array('phone', null, 'us')</div></div></div></div><a name="h882-1"></a><h3>postal</h3> Postal используется для&nbsp;валидации ZIP&nbsp;кодов из&nbsp;США (us), Канады (ca), Великобритании (uk), Италии (it), Германии (de) и&nbsp;Бельгии (be). Для&nbsp;других форматов ZIP&nbsp;кода, вы&nbsp;можете передать регулярное выражение в&nbsp;качестве второго параметра.<br /> <div class="indent"><div class="indent">'zipcode' =&gt; array(<br /> <div class="indent"><div class="indent">'rule' =&gt; array('postal', null, 'us')</div></div></div></div><a name="h882-2"></a><h3>range</h3> Правило проверяет, что&nbsp;значение входит в&nbsp;указанный диапазон. Если диапазон не&nbsp;указан, то&nbsp;правило проверит, чтобы значение было допустимой конечной величиной для&nbsp;текущей платформы.<br /> <div class="indent"><div class="indent">'number' =&gt; array(<br /> <div class="indent"><div class="indent">'rule' =&gt; array('range', 0, 10),<br /> 'message' =&gt; 'Пожалуйста введите число между 0 и&nbsp;10'</div></div></div></div><a name="h882-3"></a><h3>ssn</h3> Ssn&nbsp;проверяет номер социального страхования из&nbsp;США (us), Дании (dk), и&nbsp;Нидерландов (nl). Для&nbsp;других форматов номера социального страхования, вы&nbsp;можете передать регулярное выражение.<br /> <div class="indent"><div class="indent">'ssn' =&gt; array(<br /> <div class="indent"><div class="indent">'rule' =&gt; array('ssn', null, 'us')</div></div></div></div><a name="h882-4"></a><h3>url</h3> Правило проверяет валидность формата URL. Поддерживает http(s), ftp(s), file, news, и&nbsp;gopher протоколы.<br /> <div class="indent"><div class="indent">'website' =&gt; array(<br /> <div class="indent"><div class="indent">'rule' =&gt; 'url'</div></div></div></div> Для&nbsp;проверки того, что&nbsp;протокол есть в&nbsp;url, доступен строгий режим, например:<br /> <div class="indent"><div class="indent">'website' =&gt; array(<br /> <div class="indent"><div class="indent">'rule' =&gt; array('url',true)</div></div></div></div> <span class="missingpage">&lt;&lt; Множество правил для&nbsp;поля</span><a href="/wiki/MultipleRules/edit?add=1" title="Создать эту страницу">?</a> | <span class="missingpage">Пользовательские правила валидации &gt;&gt;</span><a href="/wiki/CustomRules/edit?add=1" title="Создать эту страницу">?</a></div><br /> <b>Удалено:</b><br /> <div class="deletions">Не&nbsp;используйте это&nbsp;правило для&nbsp;multiple select input, так&nbsp;как это&nbsp;вызовет ошибку. Используйте вместо этого &ndash; &#147;multiple&#148;.</div></div> 2009-04-09 12:18:25 /wiki/Manual/CommonTasks/DataValidation/CoreRules/show?time=2009-04-09+12%3A18%3A25 <div class="pageBefore"><img src="/wiki_/images/z.gif" width="1" height="1" border="0" alt="" style="display:block" align="top" /></div><div class="page"> <b>Сравнение версий <a href="/wiki/Manual/CommonTasks/DataValidation/CoreRules" class="">/Manual&nbsp;/&nbsp;Common&nbsp;Tasks&nbsp;/&nbsp;Data&nbsp;Validation&nbsp;/&nbsp;Core&nbsp;Rules</a> за <a href="/wiki/Manual/CommonTasks/DataValidation/CoreRules?time=2009-04-09+12%3A18%3A25">2009-04-09 12:18:25</a> и <a href="/wiki/Manual/CommonTasks/DataValidation/CoreRules?time=2009-04-09+12%3A36%3A41">2009-04-09 12:36:41</a></b><br /> <br /> <b>Добавлено:</b><br /> <div class="additions"><a name="h882-1"></a><h3>money</h3> Правило проверяет, что&nbsp;значение является валидной денежной величиной.<br /> Второй параметр определяет расположение символа (слева/справа).<br /> <div class="indent"><div class="indent">'salary' =&gt; array(<br /> <div class="indent"><div class="indent">'rule' =&gt; array('money', 'left'),<br /> 'message' =&gt; 'Пожалуйста, введите денежную величину.'</div></div></div></div><a name="h882-2"></a><h3>Multiple</h3> Используйте это&nbsp;правило для&nbsp;валидации значений мульти-селекта (multiple select input). Поддерживает параметры &#147;in&#148;, &#147;max&#148; и&nbsp;&#147;min&#148;.<br /> <div class="indent"><div class="indent">'multiple' =&gt; array(<br /> <div class="indent"><div class="indent">'rule' =&gt; array('multiple', array('in' =&gt; array('foo', 'bar'), 'min' =&gt; 1, 'max' =&gt; 3)),<br /> 'message' =&gt; 'Пожалуйста, выберите первый, второй или&nbsp;третий вариант'</div></div></div></div><a name="h882-3"></a><h3>inList</h3> Это&nbsp;правило проверяет входит ли&nbsp;значение в&nbsp;данное множество. Требует массив значений. Поле валидно, если его&nbsp;значение совпадает с&nbsp;одним из&nbsp;значений данного массива.<br /> <div class="indent">var $validate = array(<br /> 'function' =&gt; array(<br /> 'allowedChoice' =&gt; array(<br /> 'rule' =&gt; array('inList', array('Foo', 'Bar')),<br /> 'message' =&gt; 'Введите Foo&nbsp;или Bar.'<br /> )<br /> )<br /> );</div><a name="h882-4"></a><h3>numeric</h3> Проверяет являются ли&nbsp;переданные данные чилом.<br /> <div class="indent"><div class="indent">'cars' =&gt; array(<br /> <div class="indent"><div class="indent">'rule' =&gt; 'numeric', <br /> 'message' =&gt; 'Пожалуйста, введите количество машин.'</div></div></div></div><a name="h882-5"></a><h3>notEmpty</h3> Основное правило, гарантирующее, что&nbsp;поле не&nbsp;пустое.<br /> <div class="indent"><div class="indent">'title' =&gt; array( <br /> <div class="indent"><div class="indent">'rule' =&gt; 'notEmpty',<br /> 'message' =&gt; 'Поле не&nbsp;должно быть пустым'</div></div></div></div> Не&nbsp;используйте это&nbsp;правило для&nbsp;multiple select input, так&nbsp;как это&nbsp;вызовет ошибку. Используйте вместо этого &ndash; &#147;multiple&#148;. <a name="h882-6"></a><h3>phone</h3></div></div> 2009-04-09 11:46:32 /wiki/Manual/CommonTasks/DataValidation/CoreRules/show?time=2009-04-09+11%3A46%3A32 <div class="pageBefore"><img src="/wiki_/images/z.gif" width="1" height="1" border="0" alt="" style="display:block" align="top" /></div><div class="page"> <b>Сравнение версий <a href="/wiki/Manual/CommonTasks/DataValidation/CoreRules" class="">/Manual&nbsp;/&nbsp;Common&nbsp;Tasks&nbsp;/&nbsp;Data&nbsp;Validation&nbsp;/&nbsp;Core&nbsp;Rules</a> за <a href="/wiki/Manual/CommonTasks/DataValidation/CoreRules?time=2009-04-09+11%3A46%3A32">2009-04-09 11:46:32</a> и <a href="/wiki/Manual/CommonTasks/DataValidation/CoreRules?time=2009-04-09+12%3A18%3A25">2009-04-09 12:18:25</a></b><br /> <br /> <b>Добавлено:</b><br /> <div class="additions">Многие хранилища данных требуют определенный формат даты. Вместо того, чтобы заставлять <br /> пользователей ввести дату в&nbsp;нужном формате, вы&nbsp;можете принимать широкий массив форматов, <br /> и&nbsp;затем конвертировать их&nbsp;в нужный. <br /> Это&nbsp;правило гарантирует, что&nbsp;данные &ndash; корректное десятичное число. Может быть передан параметр, для&nbsp;указания требуемого количества знаков после запятой. <br /> Если параметр не&nbsp;передан, то&nbsp;данные не&nbsp;пройдут проверку в&nbsp;случае отсутствия знаков после запятой.<br /> <div class="indent"><div class="indent">'price' =&gt; array(<br /> <div class="indent"><div class="indent">'rule' =&gt; array('decimal', 2)</div></div></div></div><a name="h882-1"></a><h3>email</h3> Проверяет являются ли&nbsp;данные корректным email адресом. При&nbsp;передаче true в&nbsp;качестве второго параметра для&nbsp;этого правила будет производиться попытка проверить хост для&nbsp;данного адреса.<br /> var $validate = array('email' =&gt; array('rule' =&gt; 'email'));<br /> <br /> <div class="indent"><div class="indent">'email' =&gt; array(<br /> <div class="indent"><div class="indent">'rule' =&gt; array('email', true),<br /> 'message' =&gt; 'Пожалуйста, введите действующий email адрес.'</div></div></div></div><a name="h882-2"></a><h3>equalTo</h3> Это&nbsp;правило проверяет, чтобы введеное значение было равно значению, определенному в&nbsp;правиле, и&nbsp;было того же&nbsp;типа.<br /> <div class="indent"><div class="indent">'food' =&gt; array(<br /> <div class="indent"><div class="indent">'rule' =&gt; array('equalTo', 'cake'), <br /> 'message' =&gt; &laquo;Значение должно быть строкой 'cake' &laquo;</div></div></div></div><a name="h882-3"></a><h3>extension</h3> Это&nbsp;правило проверяет расширение файла, наподобие .jpg или&nbsp;.png. Разрешает множество расширений при&nbsp;передаче их&nbsp;в виде массива.<br /> <div class="indent"><div class="indent">'image' =&gt; array(<br /> <div class="indent"><div class="indent">'rule' =&gt; array('extension', array('gif', 'jpeg', 'png', 'jpg')),<br /> 'message' =&gt; &laquo;Разрешены файлы с&nbsp;расширениями 'gif', 'jpeg', 'png', 'jpg'.&raquo;</div></div></div></div><a name="h882-4"></a><h3>ip</h3> Это&nbsp;правило обеспечит проверку валидности введенного IPv4 адреса.<br /> <div class="indent"><div class="indent">'clientip' =&gt; array(<br /> <div class="indent"><div class="indent">'rule' =&gt; 'ip',<br /> 'message' =&gt; 'Пожалуйста, введите корректный IP-адрес.'</div></div></div></div><a name="h882-5"></a><h3>isUnique</h3> Данные для&nbsp;поля должны быть уникальными, они&nbsp;не&nbsp;могут быть в&nbsp;любой другой записи. <br /> <div class="indent"><div class="indent"><div class="indent"><div class="indent">'rule' =&gt; 'isUnique',<br /> 'message' =&gt; 'Пользователь с&nbsp;таким логином уже&nbsp;существует.'</div></div></div></div><a name="h882-6"></a><h3>minLength</h3> Правило гарантирует, что&nbsp;данные содержат указанный минимум символов.<br /> <div class="indent"><div class="indent"><div class="indent"><div class="indent">'rule' =&gt; array('minLength', '8'), <br /> 'message' =&gt; 'Логин должен быть минимум 8 символов.'</div></div></div></div><a name="h882-7"></a><h3>maxLength</h3> Правило гарантирует, что&nbsp;данные не&nbsp;превышают указанную длину.<br /> <div class="indent"><div class="indent"><div class="indent"><div class="indent">'rule' =&gt; array('maxLength', '15'), <br /> 'message' =&gt; 'Логин не&nbsp;должен превышать 15 символов.'</div></div></div></div></div><br /> <b>Удалено:</b><br /> <div class="deletions">Многие хранилища данных требуют определенный формат даты. Вместо того, чтобы заставлять пользователей<br /> ввести дату в&nbsp;нужном формате, вы&nbsp;можете принимать широкий массив форматов, и&nbsp;затем конвертировать их&nbsp;в нужный.</div></div> 2009-04-08 11:59:06 /wiki/Manual/CommonTasks/DataValidation/CoreRules/show?time=2009-04-08+11%3A59%3A06 <div class="pageBefore"><img src="/wiki_/images/z.gif" width="1" height="1" border="0" alt="" style="display:block" align="top" /></div><div class="page"> <b>Сравнение версий <a href="/wiki/Manual/CommonTasks/DataValidation/CoreRules" class="">/Manual&nbsp;/&nbsp;Common&nbsp;Tasks&nbsp;/&nbsp;Data&nbsp;Validation&nbsp;/&nbsp;Core&nbsp;Rules</a> за <a href="/wiki/Manual/CommonTasks/DataValidation/CoreRules?time=2009-04-08+11%3A59%3A06">2009-04-08 11:59:06</a> и <a href="/wiki/Manual/CommonTasks/DataValidation/CoreRules?time=2009-04-09+11%3A46%3A32">2009-04-09 11:46:32</a></b><br /> <br /> <b>Добавлено:</b><br /> <div class="additions">Это&nbsp;правило гарантирует, что&nbsp;дата будет введена в&nbsp;корректных форматах. Единственный параметр (который может быть массивом) может быть передан. Он&nbsp;будет использоваться для&nbsp;проверки формата предлагаемой даты. Значения параметра могут быть следующие:<br /> <ul><li> 'dmy' например, <span class="nobr">27&ndash;12&ndash;20</span>06 или&nbsp;<span class="nobr">27&ndash;12&ndash;06</span> (разделителями могут быть пробел, точка, тире, косая черта /) </li><li> 'mdy' например, <span class="nobr">12&ndash;27&ndash;20</span>06 или&nbsp;<span class="nobr">12&ndash;27&ndash;06</span> (разделителями могут быть пробел, точка, тире, косая черта /) </li><li> 'ymd' например, <span class="nobr">2006&ndash;12&ndash;27</span> или&nbsp;<span class="nobr">06&ndash;12&ndash;27</span> (разделителями могут быть пробел, точка, тире, косая черта /) </li><li> 'dMy' например, 27 December 2006 или&nbsp;27 Dec&nbsp;2006 </li><li> 'Mdy' например, December 27, 2006 или&nbsp;Dec 27, 2006 (запятая необязательна) </li><li> 'My' например, (December 2006 или&nbsp;Dec 2006) </li><li> 'my' например, 12/2006 или&nbsp;12/06 (разделителями могут быть пробел, точка, тире, косая черта /)</li></ul> Если не&nbsp;передан ни&nbsp;один индекс, то&nbsp;по умолчанию будет использоваться 'ymd'.<br /> <div class="indent"><div class="indent">'born' =&gt; array(<br /> <div class="indent"><div class="indent">'rule' =&gt; 'date',<br /> 'message' =&gt; 'Введите дату в&nbsp;формате YY-MM-DD.',<br /> 'allowEmpty' =&gt; true</div></div></div></div> Многие хранилища данных требуют определенный формат даты. Вместо того, чтобы заставлять пользователей<br /> ввести дату в&nbsp;нужном формате, вы&nbsp;можете принимать широкий массив форматов, и&nbsp;затем конвертировать их&nbsp;в нужный. <a name="h882-1"></a><h3>decimal</h3></div></div> 2009-04-08 11:54:30 /wiki/Manual/CommonTasks/DataValidation/CoreRules/show?time=2009-04-08+11%3A54%3A30 <div class="pageBefore"><img src="/wiki_/images/z.gif" width="1" height="1" border="0" alt="" style="display:block" align="top" /></div><div class="page"> <b>Сравнение версий <a href="/wiki/Manual/CommonTasks/DataValidation/CoreRules" class="">/Manual&nbsp;/&nbsp;Common&nbsp;Tasks&nbsp;/&nbsp;Data&nbsp;Validation&nbsp;/&nbsp;Core&nbsp;Rules</a> за <a href="/wiki/Manual/CommonTasks/DataValidation/CoreRules?time=2009-04-08+11%3A54%3A30">2009-04-08 11:54:30</a> и <a href="/wiki/Manual/CommonTasks/DataValidation/CoreRules?time=2009-04-08+11%3A59%3A06">2009-04-08 11:59:06</a></b><br /> <br /> <b>Добавлено:</b><br /> <div class="additions"><a name="h882-1"></a><h3>comparison</h3> Comparison используетс для&nbsp;сравнения числовых значений. Он&nbsp;поддерживает &#147;is greater&#148;, &#147;is less&#148;, &#147;greater or&nbsp;equal&#148;, &#147;less or&nbsp;equal&#148;, &#147;is less&#148;, &#147;equal to&#148;, и&nbsp;&#147;not equal&#148;. Некоторые примеры представлены ниже:<br /> <div class="indent"><div class="indent">'age' =&gt; array(<br /> <div class="indent"><div class="indent">'rule' =&gt; array('comparison', '&gt;=', 18),<br /> 'message' =&gt; 'Должно быть не&nbsp;менее 18 лет.'<br /> </div></div>'age' =&gt; array(<br /> <div class="indent"><div class="indent">'rule' =&gt; array('comparison', 'greater or&nbsp;equal', 18),<br /> 'message' =&gt; 'Должно быть не&nbsp;менее 18 лет.'</div></div></div></div><a name="h882-2"></a><h3>date</h3></div></div> 2009-04-02 17:42:54 /wiki/Manual/CommonTasks/DataValidation/CoreRules/show?time=2009-04-02+17%3A42%3A54 <div class="pageBefore"><img src="/wiki_/images/z.gif" width="1" height="1" border="0" alt="" style="display:block" align="top" /></div><div class="page"> <b>Сравнение версий <a href="/wiki/Manual/CommonTasks/DataValidation/CoreRules" class="">/Manual&nbsp;/&nbsp;Common&nbsp;Tasks&nbsp;/&nbsp;Data&nbsp;Validation&nbsp;/&nbsp;Core&nbsp;Rules</a> за <a href="/wiki/Manual/CommonTasks/DataValidation/CoreRules?time=2009-04-02+17%3A42%3A54">2009-04-02 17:42:54</a> и <a href="/wiki/Manual/CommonTasks/DataValidation/CoreRules?time=2009-04-08+11%3A54%3A30">2009-04-08 11:54:30</a></b><br /> <br /> <b>Добавлено:</b><br /> <div class="additions">Это&nbsp;правило используется для&nbsp;того, чтобы убедиться, что&nbsp;поле осталось пустым или&nbsp;присутствуют только пробелы (т.е. пробелы, символы табуляции, возврат каретки и&nbsp;новая строка).<br /> <div class="indent"><div class="indent">'id' =&gt; array(<br /> <div class="indent"><div class="indent">'rule' =&gt; 'blank',<br /> 'on' =&gt; 'create'</div></div></div></div><a name="h882-1"></a><h3>boolean</h3> Данные для&nbsp;поля должны быть типа boolean. Допустимые значения: true или&nbsp;false, целые 0 или&nbsp;1, или&nbsp;строковые '0' или&nbsp;'1'.<br /> <div class="indent"><div class="indent">'myCheckbox' =&gt; array(<br /> <div class="indent"><div class="indent">'rule' =&gt; array('boolean'),<br /> 'message' =&gt; 'Некорректные значения для&nbsp;myCheckbox'</div></div></div></div><a name="h882-2"></a><h3>cc</h3> Правило используется для&nbsp;проверки валидности номера кредитной карты. Оно&nbsp;принимает три&nbsp;параметра: 'type', 'deep' и&nbsp;'regex'.<br /> Индексу 'type' могут быть присвоены значения 'fast', 'all' или&nbsp;одно из&nbsp;следующих:<br /> <ul><li> amex </li><li> bankcard </li><li> diners </li><li> disc </li><li> electron </li><li> enroute </li><li> jcb&nbsp;</li><li> maestro </li><li> mc&nbsp;</li><li> solo </li><li> switch </li><li> visa </li><li> voyager</li></ul> Если 'type' установлен в&nbsp;'fast', то&nbsp;будет производиться проверка для&nbsp;основных форматов нумерации кредитных карт. Установка 'type' в&nbsp;'all' будет проверять для&nbsp;всех типов кредитных карт. Вы&nbsp;также можете сопоставить 'type' массив типов, с&nbsp;которыми вы&nbsp;хотите производить сравнение.<br /> Индексу 'deep' должно быть сопоставлено значение типа boolean. Если он&nbsp;установлен в&nbsp;true, валидация будет использовать алгоритм Луна <a href="http://ru.wikipedia.org/wiki/Алгоритм_Луна" target="_blank" title="Внешняя ссылка (откроется в новом окне)" class="outerlink"><img src="/wiki_/themes/cake/icons/web.gif" alt="" border="0" />http://ru.wikipedia.org/wiki/Алгоритм_Луна</a>. По&nbsp;умолчанию установлен в&nbsp;false.<br /> Индекс 'regex' позволяет вам&nbsp;использовать вам&nbsp;собственное регулярное выражение, которое будет использоваться для&nbsp;проверки номера кредитной карты.<br /> <div class="indent"><div class="indent">'ccnumber' =&gt; array(<br /> <div class="indent"><div class="indent">'rule' =&gt; array('cc', array('visa', 'maestro'), false, null),<br /> 'message' =&gt; 'Неверный номер кредитной карты.'</div></div></div></div></div></div> 2009-04-01 17:12:28 /wiki/Manual/CommonTasks/DataValidation/CoreRules/show?time=2009-04-01+17%3A12%3A28 <div class="pageBefore"><img src="/wiki_/images/z.gif" width="1" height="1" border="0" alt="" style="display:block" align="top" /></div><div class="page"> <b>Сравнение версий <a href="/wiki/Manual/CommonTasks/DataValidation/CoreRules" class="">/Manual&nbsp;/&nbsp;Common&nbsp;Tasks&nbsp;/&nbsp;Data&nbsp;Validation&nbsp;/&nbsp;Core&nbsp;Rules</a> за <a href="/wiki/Manual/CommonTasks/DataValidation/CoreRules?time=2009-04-01+17%3A12%3A28">2009-04-01 17:12:28</a> и <a href="/wiki/Manual/CommonTasks/DataValidation/CoreRules?time=2009-04-02+17%3A42%3A54">2009-04-02 17:42:54</a></b><br /> <br /> <b>Добавлено:</b><br /> <div class="additions"><br /> Класс Validation в&nbsp;<!--notypo-->CakePHP<!--/notypo--> содержит правила проверки данных, которые могут упростить валидацию данных модели. Этот класс содержит множество, часто используемых, приемов проверки данных. Ниже представлен полный перечень всех правил с&nbsp;примерами использования.<br /> <br /> <hr noshade="noshade" size="1" /> <a name="h882-1"></a><h3>alphaNumeric</h3> <br /> Данные для&nbsp;поля должны содержать только буквы и&nbsp;цифры.<br /> <br /> <!--notypo--><div class="code"><code><span style="color: #000000"> <span style="color: #0000BB">&lt;?<br /></span><span style="color: #007700">var&nbsp;</span><span style="color: #0000BB">$validate&nbsp;</span><span style="color: #007700">=&nbsp;array(<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #DD0000">'login'&nbsp;</span><span style="color: #007700">=&gt;&nbsp;array(<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #DD0000">'rule'&nbsp;</span><span style="color: #007700">=&gt;&nbsp;</span><span style="color: #DD0000">'alphaNumeric'</span><span style="color: #007700">,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #DD0000">'message'&nbsp;</span><span style="color: #007700">=&gt;&nbsp;</span><span style="color: #DD0000">'Имена&nbsp;пользователей&nbsp;должны&nbsp;содержать&nbsp;только&nbsp;буквы&nbsp;и&nbsp;цифры.'<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">)<br />);<br /></span><span style="color: #0000BB">?&gt;</span> </span> </code></div><!--/notypo--><br /> <br /> <hr noshade="noshade" size="1" /> <a name="h882-2"></a><h3>between</h3> <br /> Длина данных для&nbsp;поля должна попадать в&nbsp;указанный диапазон. Должны быть определены и&nbsp;минимум и&nbsp;максимум. Используется &lt;=, а&nbsp;не &lt;<br /> <br /> <!--notypo--><div class="code"><code><span style="color: #000000"> <span style="color: #0000BB">&lt;?<br /></span><span style="color: #007700">var&nbsp;</span><span style="color: #0000BB">$validate&nbsp;</span><span style="color: #007700">=&nbsp;array(<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #DD0000">'password'&nbsp;</span><span style="color: #007700">=&gt;&nbsp;array(<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #DD0000">'rule'&nbsp;</span><span style="color: #007700">=&gt;&nbsp;array(</span><span style="color: #DD0000">'between'</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">5</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">15</span><span style="color: #007700">),<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #DD0000">'message'&nbsp;</span><span style="color: #007700">=&gt;&nbsp;</span><span style="color: #DD0000">'Длина&nbsp;пароля&nbsp;должны&nbsp;быть&nbsp;от&nbsp;5&nbsp;до&nbsp;15&nbsp;символов.'<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">)<br />);<br /></span><span style="color: #0000BB">?&gt;</span> </span> </code></div><!--/notypo--><br /> <br /> <hr noshade="noshade" size="1" /> <a name="h882-3"></a><h3>blank</h3> <br /> <br /></div></div>