CodeIgniter – Не удается получить доступ к сообщению об ошибке, соответствующему имени вашего поля Password. (Pword_check)

Я новичок в CodeIgniter, и я просто застрял в самом начале. Я использую расширение HMVC, и при проверке я получаю следующую ошибку:

Не удалось получить доступ к сообщению об ошибке, соответствующему имени вашего поля Password. (Pword_check)

любая помощь будет с благодарностью

Код:

public function submit() { $this->load->library('form_validation'); $this->form_validation->set_rules('username', 'Username', 'required|max_length[30]|xss_clean'); $this->form_validation->set_rules('pword', 'Password', 'required|max_length[30]|callback_pword_check|xss_clean'); if ($this->form_validation->run() == FALSE) { $this->login(); } else { echo 'Success'; die(); } } public function pword_check($str) { if ($str == 'test') { $this->form_validation->set_message('pword_check', 'The %s field can not be the word "test"'); return FALSE; } else { return TRUE; } } 

Solutions Collecting From Web of "CodeIgniter – Не удается получить доступ к сообщению об ошибке, соответствующему имени вашего поля Password. (Pword_check)"

xss_clean больше не является частью проверки формы в Codeingitore 3

Просто удалите xss_clean из вашей проверки roul

 $this->form_validation->set_rules('pword', 'Password', 'required|max_length[30]|callback_pword_check'); 

Если вам действительно необходимо применить это правило, теперь вы также должны загрузить Security Helper, который содержит xss_clean() в качестве регулярной функции и, следовательно, может также использоваться в качестве правила проверки.

перейдите в application/config/autoload.php :

 $autoload['helper'] = array('security'); 

Или, прежде чем ваша форма проверки

 $this->load->helper('security'); 

Привет, ребята Я нашел решение для работы с call_backs в hmvc codeIgniter. Я хотел бы опубликовать решение для других.

Решение:

1. Создайте файл MY_Form_validation.php в папке библиотек и вставьте в него следующий код.

  if (!defined('BASEPATH')) exit('No direct script access allowed'); class MY_Form_validation extends CI_Form_validation { function run($module = '', $group = '') { (is_object($module)) AND $this->CI = &$module; return parent::run($group); } } 

  1. И измените if ($this->form_validation->run() == FALSE) на if ($this->form_validation->run($this) == FALSE) все люди ..

Причина этой ошибки заключается в том, что вы не загрузили помощника по безопасности, так как включить помощника безопасности с autoload.php в папке конфигурации или вы можете напрямую загрузить помощника, как упоминалось в последней строке этого сообщения

И если, несмотря ни на что, вам это действительно нужно, перейдите в application / config / autoload.php:

$ autoload ['helper'] = array ('security'); Или, прежде чем ваша форма проверки $ this-> load-> helper ('security');