Intereting Posts

Как проверить адресное поле в Codeigniter

Я пытаюсь применить некоторые правила валидации к моим данным формы в CodeIgniter.

Ожидаемый разрешенный пример вывода: 22 – какое-то общество, какая-то улица, город. 223399

Что я ввел для проверки валидации: 42-какое-то Общество-3, какая-то улица. arcade @ ## *

Это моя функция, которую я использую для проверки адреса.

function addr_line1($addr_line1) { if (preg_match('/^[a-z0-9 .\-]+$/i',$addr_line1) !== FALSE) return TRUE; $this->form_validation->set_message('addr_line1', 'allow only space,comma,dot,numbers and alphabets.'); return FALSE; } 

Теперь я положил всю свою проверку в config / form_validation.php

 array( 'field' => 'addr_line1', 'label' => 'Address Line One', 'rules' => 'required|max_length[100]|callback_addr_line1' ), 

В конце концов, я не получил никакой проверки. Я не следую правильному процессу? или что должен код регулярного выражения проверять этот тип данных?

меняться от

 function addr_line1($addr_line1) { if (preg_match('/^[a-z0-9 .\-]+$/i',$addr_line1) !== FALSE) return TRUE; $this->form_validation->set_message('addr_line1', 'allow only space,comma,dot,numbers and alphabets.'); return FALSE; } 

в

 function addr_line1($addr_line1) { if (preg_match('/[\'^£$%&*()}{@#~?><>,|=_+¬-]/', $addr_line1)) { $this->form_validation->set_message('addr_line1', 'allow only space,comma,dot,numbers and alphabets.'); }else{ return true; } } 

Примечание: – вы можете заменить £$%&*()}{@#~?><>,|=_+¬- с вашим запрещенным символом

После вашего предложения и помощи я наконец нашел правильную функцию.

  function _validAddressCheck($addr_line1) { if (preg_match('/^[0-9a-zA-Z .,-]+$/',$addr_line1)){ return TRUE; } else { $this->form_validation->set_message('_validAddressCheck', 'Only Allowed space, comma, dot, dash, numbers and alphabets.'); return FALSE; } } 

Я обнаружил, что некоторые правила, которые мы должны соблюдать, если мы применяем обратный вызов для проверки.

  1. Я создал массив проверки конфиг в приложении / config / form_validation.php

  2. Поместите функцию обратного вызова на контроллер, где я назвал эти проверки.

Найдите эту ссылку для создания регулярного выражения и проверьте это. Ссылка