2010-12-15 2 views
0

Я пытаюсь добавить валидационные сообщения в Kohana 3 (Orm Model).Kohana 3: ORM Сообщения о проверке

классы/модель/cliente.php

<?php defined('SYSPATH') or die('No direct script access.'); 

class Model_Cliente extends ORM { 
protected $_table_name = 'clientes'; 
protected $_primary_key = 'id'; 
protected $_has_one = array('loja' => array()); 
protected $_rules = array(
    'responsavel' => array('not_empty' => array(), 'min_length' => array(3)), 
    'email' => array('not_empty' => array(), 'email' => array()), 
    'telefone' => array('regex' => array('/^(\(\d{2}\)|\d{2})[ -]?\d{4}[ -]?\d{4}$/')) 
); 
} 
?> 

сообщения/cliente.php

<?php defined('SYSPATH') or die('No direct script access.'); 

return array(
    'responsavel' => array(
     'not_empty' => 'O nome do responsável não pode ficar em branco.', 
     'min_length' => 'O nome do responsável deve conter 3 caracteres ou mais.' 
    ) 
); 

?> 

Выход:

Array ([responsavel] => Array ([0] => not_empty [1] => Array ()) [email] => Array ([0] => not_empty [1] => Array ())) 

Я не получаю сообщение проверки, только это вывод выше ... Любая идеа? Спасибо.

ответ

2

Вызов ->errors() без каких-либо параметров означает, что вам нужны оригиналы ошибок, а не ошибки. Результат будет содержать имена полей и их описание ошибки (правило/имя обратного вызова + применяемые параметры). В вашем примере у вас есть правил (без аргументов) на полях responsavel и email.

Btw, ->errors('') и ->errors('validate') являются синонимами.

Смежные вопросы