Учебники

CodeIgniter — Проверка формы

Валидация является важным процессом при создании веб-приложения. Это гарантирует, что данные, которые мы получаем, являются правильными и действительными для хранения или обработки. 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