Расширение класса проверки формы и добавление пользовательских правил проверки в codeigniter - PullRequest
2 голосов
/ 15 марта 2012

Я пытаюсь расширить класс проверки формы и добавить туда некоторые пользовательские правила проверки, но по некоторым причинам codeigniter не видит ни одного из них ...

Я создал новыйфайл внутри папки библиотеки с именем MY_Form_validation.php и добавил следующий код:

<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class MY_Form_validation extends CI_Form_validation {

    function valid_date($str)
    {
        return FALSE;
    }

}

Но функция validation_errors () никогда не возвращает никаких ошибок (я сохранил сообщение об ошибке в папке config), если я помещаю функцию valid_dateвнутри контроллера он работает нормально.Есть идеи?

Ответы [ 3 ]

0 голосов
/ 15 марта 2012

Вам необходимо установить сообщение.

if(condition)
{
  return true;
}
else
{
   $this->CI->form_validation->set_message('function_name', 'message');
   return false;
}
0 голосов
/ 15 марта 2012

Как насчет изменения кода MY_Form_validation.php, чтобы он имел функцию __construct() и вызывал родителей __construct(), например:

class MY_Form_validation extends CI_Form_validation {

    public function __construct()
    {
        parent::__construct();
    }

    public function valid_date($str)
    {
        return FALSE;
    }

}
0 голосов
/ 15 марта 2012

Я не знаю точно, каков ответ, но у меня есть такая возможность, вы автоматически загружаете my_form_validation вместо form_validation?потому что, если вы загрузите form_validation, может быть вероятность того, что ваш экземпляр CI не знает о вашем классе?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...