2013-09-19 4 views
0

Получаем ошибку при попытке интегрировать проверку в kohana. Ниже приведены сведения об ошибкеErrorException [Fatal Error]: Class 'Validate' not found

Сообщение об ошибке Название

ErrorException [ Fatal Error ]: Class 'Validate' not found 

AppPath \ Classes \ Controller \ home.php [24]

19 { 
20  $_model = Model::factory('home'); 
21  
22  if ($this->request->method() == HTTP_Request::POST) 
23  { 
24   $post = Validate::factory($_POST) 
25    ->filter(TRUE, 'trim') 
26    ->filter('txt_name', 'strtolower') 
27 
28    ->rule('txt_name', 'not_empty') 
29    ->rule('txt_name', 'regex', array('/^[a-z_.]++$/iD')) 

Пожалуйста, помогите мне решить эту проблему.

ответ

1

Какая версия Коханы вы используете? Для Kohana 3.3 должно быть:

Validation::factory($_POST)

Также вы можете использовать вместо $_POST

Похоже, метод фильтра осуждался из Kohana 3.2, так что вы можете сделать следующее, как предложено здесь: How do I call the trim function on a Kohana 3.2 validation object?

$post = array_map('trim', $this->request->post()); 

$post = Validation::factory($post) 
    ->rule('txt_name', 'not_empty') 
    ->rule('txt_name', 'regex', array('/^[a-z_.]++$/iD')); 

Или, альтернативно, вы можете использовать http://kohanaframework.org/3.3/guide/orm/filters

+0

Спасибо. Я изменил Validate :: factory ($ _ POST) на Validation :: factory ($ _ POST), и теперь он исправлен. Но теперь ошибка переместилась на следующую строку. и сообщение ErrorException [Fatal Error]: вызов неопределенного метода Validation :: filter() –

+0

Похоже, что метод фильтра недоступен с 3.2/3.3 http://stackoverflow.com/questions/7906320/how-do- i-call-the-trim-function-on-a-kohana-3-2-validation-object –

+0

@hariprasad вы получили его? –