0

Kohana 3(Orm Model)に検証メッセージを追加しようとしています。

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 ( ) ) ) 

検証メッセージは表示されません。上記の出力だけです...アイデアはありますか?ありがとうございました。

4

2 に答える 2

6

今日も同じ問題がありました。

解決策:validate()-> errors()の代わりにvalidate()-> errors('')。

これはhttps://github.com/samsoir/core/tree/master/classes/kohanaのベータコアを使用していますが、3.08でも同じかもしれません。

于 2010-12-15T14:29:25.317 に答える
2

パラメータなしで呼び出す->errors()ということは、エラーの翻訳ではなくエラーのオリジナルが必要であることを意味します。結果には、フィールド名とそのエラーの説明 (ルール/コールバック名 + 適用されるパラメーター) が含まれます。あなたの例では、およびフィールドnot_emptyに(引数なしの)ルールがあります。responsavelemail

ところで、->errors('')->errors('validate')は同義語です。

于 2010-12-15T21:52:27.397 に答える