Kohana 3: сообщения проверки ORM - PullRequest
0 голосов
/ 15 декабря 2010

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

classes / model / 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}$/'))
 );
}
?>

messages / 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 ]

6 голосов
/ 15 декабря 2010

Была такая же проблема сегодня.

Решение: validate () -> errors ('') вместо validate () -> errors ().

Это с бета ядромот https://github.com/samsoir/core/tree/master/classes/kohana но, может быть, то же самое в 3.08.

2 голосов
/ 16 декабря 2010

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

Кстати, ->errors('') и ->errors('validate') - синонимы.

...