Вход Регистрация
Файл: files/docs/class_validation.dat
Строк: 117
<?php show_title('Class Validation'); ?> <b>Класс
для валидации входящих
данных</b> <h3>addRule(string $type, mixed $var,
string $label, bool $required = false, int $min = 0, int $max =
0)</h3> Пример проверки регистрации
пользователей <pre class="prettyprint
linenums"> $validation = new Validation(); $validation ->
addRule('equal', array($provkod, $_SESSION['protect']),
'Проверочное число не совпало с данными
на картинке!') -> addRule('regex', array($logs,
'|^[a-z0-9\-]+$|i'), 'Недопустимые символы в
логине. Разрешены знаки латинского
алфавита, цифры и дефис!', true) ->
addRule('regex', array($pars, '|^[a-z0-9\-]+$|i'),
'Недопустимые символы в пароле.
Разрешены знаки латинского алфавита,
цифры и дефис!', true) -> addRule('email', $meil, 'Вы
ввели неверный адрес e-mail, необходим
формат name@site.domen!', $config['regmail']) ->
addRule('string', $invite, 'Слишком длинный или
короткий пригласительный ключ!',
$config['invite'], 15, 20) -> addRule('string', $logs, 'Слишком
длинный или короткий логин!', true, 3, 20) ->
addRule('string', $pars, 'Слишком длинный или
короткий пароль!', true, 6, 20) -> addRule('equal',
array($pars, $pars2), 'Ошибка! Введенные пароли
отличаются друг от друга!') ->
addRule('not_equal', array($logs, $pars), 'Пароль и логин
должны отличаться друг от друга!'); if
($validation->run()){ echo 'Все отлично, ошибок
нет!'; } else
{ show_error($validation->getErrors()); } </pre> <b>Список
допустимых параметров
$type</b> <ul> <li><a
href="#validateString">string (validateString)</a> -
проверяет длину текста</li> <li><a
href="#validateNumeric">numeric (validateNumeric)</a> -
проверяет число подходящее под условие
"больше чем N и меньше чем
M"</li> <li><a href="#validateMax">max
(validateMax) - проверяет число подходящее под
условие "больше чем
N"</li> <li><a href="#validateMin">min
(validateMin)</a> - проверяет число
подходящее под условие "меньше чем
N"</li> <li><a
href="#validateEqual">equal (validateEqual)</a> -
провеяет строку на
эквивалентность</li> <li><a
href="#validateNotEqual">not_equal
(validateNotEqual)</a> - провеяет строку на НЕ
эквивалентность</li> <li><a
href="#validateEmpty">empty (validateEmpty)</a> -
проверяет строку на
пустоту</li> <li><a
href="#validateNotEmpty">not_empty
(validateNotEmpty)</a> - проверяет строку на НЕ
пустоту</li> <li><a
href="#validateIn">in (validateIn)</a> -
проверяет строку на нахождение в
переданном списке</li> <li><a
href="#validateRegex">regex (validateRegex)</a> -
проверяет строку на регулярное
выражение</li> <li><a
href="#validateFloat">float (validateFloat)</a> -
проверяет строку на соответствие числу с
плавающей точкой</li> <li><a
href="#validateUrl">url (validateUrl)</a> -
проверяет строку на соответствие
адресной ссылке</li> <li><a
href="#validateEmail">email (validateEmail)</a> -
проверяет строку на соответствие адресу
электронной почты</li> <li><a
href="#validateBool">bool (validateBool)</a> -
проверяет строку на логический
тип</li> <li><a
href="#validateCustom">custom (validateCustom)</a> -
Выполняет пользовательскую проверку
данных</li> </ul> <h3>run()</h3> Запускает
проверку и возвращает true если все
условия выполнены или массив со списком
ошибок<br /> <pre class="prettyprint
linenums"> if ($validation->run()){ echo 'Все
отлично, ошибок нет!'; } else
{ show_error($validation->getErrors()); } </pre> <h3>addError($error)</h3> Добавляет
ошибку в список<br /> Используется для
пользовательской проверки некоторых
данных<br /> Аналогично фильтру <a
href="#validateCustom">custom
(validateCustom)</a> <pre class="prettyprint
linenums"> if (substr_count($logs, '-') > 2) { $validation
-> addError('Запрещено использовать в логине
слишком много
дефисов!'); } </pre> <h3>getErrors()</h3> Выводит
массив ошибок, если массив пустой ошибок
нет <h3
id="validateString">validateString</h3> <pre
class="prettyprint linenums"> addRule('string', $invite,
'Слишком длинный или короткий
пригласительный ключ!', true, 15,
20) </pre> Если передан required = false, то
валидация сработает при пустой
строке <h3
id="validateMax">validateMax</h3> <pre
class="prettyprint linenums"> addRule('max',
array($udata['users_point'], $config['eventpoint']), 'У вас
недостаточно актива для создания
события!') </pre> <h3
id="validateMin">validateMin</h3> <pre
class="prettyprint linenums"> addRule('min',
array($udata['users_timenickname'], SITETIME), 'Изменять ник
можно не чаще чем 1 раз в
сутки!') </pre> <h3
id="validateEqual">validateEqual</h3> <pre
class="prettyprint linenums"> addRule('equal', array($pars,
$pars2), 'Ошибка! Введенные пароли
отличаются друг от друга!') </pre> <h3
id="validateNotEqual">validateNotEqual</h3> <pre
class="prettyprint linenums"> addRule('not_equal',
array($logs, $pars), 'Пароль и логин должны
отличаться друг от друга!') </pre> <h3
id="validateEmpty">validateEmpty</h3> <pre
class="prettyprint linenums"> addRule('empty',
$forums['forums_closed'], 'В данном разделе
запрещено создавать темы!') </pre> <h3
id="validateNotEmpty">validateNotEmpty</h3> <pre
class="prettyprint linenums"> addRule('not_empty', $forums,
'Раздела для новой темы не
существует!') </pre> <h3
id="validateIn">validateIn</h3> <pre
class="prettyprint linenums"> addRule('in', array('jpg',
array('gif', 'png', 'jpg', 'jpeg')), 'Недопустимое
расширение файла!') </pre> <h3
id="validateRegex">validateRegex</h3> <pre
class="prettyprint linenums"> addRule('regex', array($skype,
'#^[a-z]{1}[0-9a-z\_\.\-]{5,31}$#'), 'Недопустимый формат
Skype, только латинские символы от 6 до 32!',
false) </pre> Если передан required = false, то
валидация сработает при пустой
строке <h3
id="validateFloat">validateFloat</h3> <pre
class="prettyprint linenums"> addRule('float', '0.75',
'Необходимо указывать сумму с
копейками!', false) </pre> Если передан
required = false, то валидация сработает при
пустой строке <h3
id="validateUrl">validateUrl</h3> <pre
class="prettyprint linenums"> addRule('url',
'http://visavi.net', 'Неверный формат адреса
сайта!', true) </pre> Если передан required =
false, то валидация сработает при пустой
строке <h3
id="validateEmail">validateEmail</h3> <pre
class="prettyprint linenums"> addRule('email', $meil,
'Неправильный адрес e-mail, необходим
формат name@site.domen!', true) </pre> Если
передан required = false, то валидация сработает
при пустой строке <h3
id="validateBool">validateBool</h3> <pre
class="prettyprint linenums"> addRule('bool', 1,
'Необходимо дать свое
согласие!') </pre> Возвращает true для
значений "1", "true", "on" и
"yes". Иначе возвращает false. <h3
id="validateCustom">validateCustom</h3> Пользовательская
проверка данных, подходит для выполнения
условий которые не подходят под
вышеперечисленные условия <pre
class="prettyprint linenums"> addRule('custom', strcmp($var1,
$var2) !== 0, 'Данные не равны при
регистрозависимом
сравнении!') </pre> Возвращает true если
условие будет выполнено <br /><br
/> <img src="/images/img/back.gif" alt="image"
/> <a
href="index.php?page=docs">Вернуться</a><br
/>
Онлайн: 0
Реклама