Валидация является важным процессом при создании веб-приложения. Это гарантирует, что данные, которые мы получаем, являются правильными и действительными для хранения или обработки. CodeIgniter сделал эту задачу очень простой. Давайте разберем этот процесс на простом примере.
пример
Создайте файл представления myform.php и сохраните приведенный ниже код в application / views / myform.php . На этой странице будет отображаться форма, в которой пользователь может указать свое имя, и мы проверим эту страницу, чтобы убедиться, что она не будет пустой при отправке.
<html> <head> <title>My Form</title> </head> <body> <form action = "" method = ""> <?php echo validation_errors(); ?> <?php echo form_open('form'); ?> <h5>Name</h5> <input type = "text" name = "name" value = "" size = "50" /> <div><input type = "submit" value = "Submit" /></div> </form> </body> </html>
Создайте файл представления formuccess.php и сохраните его в application / views / formsuccess.php . Эта страница будет отображаться, если форма успешно подтверждена.
<html> <head> <title>My Form</title> </head> <body> <h3>Your form was successfully submitted!</h3> <p><?php echo anchor('form', 'Try it again!'); ?></p> </body> </html>
Создайте файл контроллера Form.php и сохраните его в application / controller / Form.php . Эта форма будет либо отображать ошибки, если она не проверена должным образом, либо перенаправлена на страницу formsuccess.php .
<?php class Form extends CI_Controller { public function index() { /* Load form helper */ $this->load->helper(array('form')); /* Load form validation library */ $this->load->library('form_validation'); /* Set validation rule for name field in the form */ $this->form_validation->set_rules('name', 'Name', 'required'); if ($this->form_validation->run() == FALSE) { $this->load->view('myform'); } else { $this->load->view('formsuccess'); } } } ?>
Добавьте следующую строку в application / config / rout.php .
$route['validation'] = 'Form';
Давайте выполним этот пример, посетив следующий URL в браузере. Этот URL может отличаться в зависимости от вашего сайта.
http://yoursite.com/index.php/validation
Это произведет следующий экран —
Мы добавили валидацию в контроллере — поле « Имя обязательно» перед отправкой формы. Итак, если вы нажмете кнопку отправки, не вводя ничего в поле имени, вам будет предложено ввести имя перед отправкой, как показано на экране ниже.
После успешного ввода имени вы будете перенаправлены на экран, как показано ниже.
В приведенном выше примере мы использовали обязательную настройку правила. В CodeIgniter доступно множество правил, которые описаны ниже.
Ссылка на правило валидации
Ниже приведен список всех собственных правил, доступных для использования:
требуется
Матчи
алгоритма regex_match
отличается
is_unique
min_length
максимальная длина
exact_length
лучше чем
greater_than_equal_to
меньше, чем
less_than_equal_to
in_list
альфа
alpha_numeric
alpha_numeric_spaces
alpha_dash
числовой
целое число
десятичный
is_natural
is_natural_no_zero
valid_url
правильный электронный адрес
valid_emails
valid_ip
valid_base64