1. Go to this page and download the library: Download one234ru/form-validator library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
one234ru / form-validator example snippets
$config = [...];
$values = $_GET;
$obj = new One234ru\FormValidator($config, $values);
$obj->validate($values);
// $obj->errors будет содержать массив ошибок
$config = [
'name' => ..., // здесь инструкции для проверки
'phone' => ...,
'email' => ...
];
$config = [
// проверку name здесь и далее опустим
'phone' => [
'*' => 'Укажите телефон.',
'/^\d{10}$/' => 'Телефон следует указывать в виде 10 цифр.',
],
'email' => [
'/^[\.\-\w]+@(\w+\-)*\.[A-z]{2}$/' => '"{*value*}" не является адресом электронной почты.',
]
];
'phone' => [
'*' => 'Укажите телефон.',
'/^\d{10}$/' => 'Телефон следует указывать в виде 10 цифр.',
function($value) {
$found = ...; // тут ищем в базе данных
return (!$found)
? "Телефон $value не значится в наших списках."
: "";
// Т.к. телефон уже проверялся регулярным выражением,
// обрабатывать его htmlspecialchars()
// перед вставкой в текст ошибки ни к чему.
}
]
$config = [
...,
function($query) {
if (...) {
// Полная форма:
return [
[
'message' => "Произошёл сбой связи с внешней системой."
]
];
// Краткая форма, вложенность на ДВА уровня ниже
return "Произошёл сбой связи с внешней системой.";
}
}
];
$values = [
'promo_codes' => [
"ABC",
"", // могут быть и пустые поля
"123"
]
]
];
$config = [
'promo_codes' => [
'[]' => [
'/^[A-z]+$/' => 'Промо-коды могут состоять только из латинских букв.',
function ($value) {
if (...) {
return "Промо-код $value не распознан.";
}
}
]
]
]
'[]' => function() {...}
'[]' => [
'*' => function() {...}
]
$config = [
'promo_codes' => [
'*' => 'Нужно указать хотя бы один промо-код',
'[]' => ...
]
]
$values = [
'promo_codes' => [ "", "" ]
];
$clients_config = [
'name' => 'Укажите имя.',
'phone' => 'Укажите телефон.',
];
$full_config = [
'client' => [
'chlidren' => $clients_config
]
];
// Пример HTTP-запроса из формы с незаполненными полями
$http_query = [
'client' => [
'name' => '',
'phone' => ''
]
];
$obj = new One234ru\FormValidator($full_config);
$obj->validate($http_query);
$obj = new One234ru\FormValidator($config);
$obj->addError('Какая-то ошибка с телефоном', 'phone');
$obj->addError('И с email тоже ошибка', 'email');
$obj->addError('Произошёл сбой связи с внешней системой.');
// Проверяем какие-то внешние условия и добавляем в список
// выявленные ошибки в качестве общих.
$some_errors = ...;
$obj = new One234ru\FormValidator([]);
$obj->addError($some_errors);
// Теперь генерируем конфигурацию для проверки
$config = ...;
$obj->setConfigTo($config);
$obj->validate($http_query, false);