Kohana 3.0中的自定义验证错误消息

时间:2011-09-28 23:33:59

标签: validation kohana kohana-3

我正在尝试加载自定义错误消息,以便在验证我的“注册”表单时使用。

用户模型:

https://github.com/ashleyconnor/Egotist/blob/master/classes/model/user.php

帐户控制器:

https://github.com/ashleyconnor/Egotist/blob/master/classes/controller/user/account.php

注册视图

https://github.com/ashleyconnor/Egotist/blob/master/views/account/signup.php

然后我将user.php放入/messages/models/user.php,但我的新错误消息未显示在表单中。

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

  return array
  (
     'username' => array
     (
        'not_empty' => 'your message',
        'max_length' => 'your message',
        'alpha_dash' => 'your message',
        'default' => 'default message'
     ),
  );

?>

https://github.com/ashleyconnor/Egotist/blob/master/messages/models/user.php

因此,提交空表单会显示以下错误消息:

  • 用户名不能为空
  • 电子邮件地址不能为空
  • 密码不能为空

哪些是默认值。

1 个答案:

答案 0 :(得分:5)

来自Kohana Validation类,errors方法源代码:

 * Returns the error messages. If no file is specified, the error message
 * will be the name of the rule that failed. When a file is specified, the
 * message will be loaded from "field/rule", or if no rule-specific message
 * exists, "field/default" will be used. If neither is set, the returned
 * message will be "file/field/rule".
 *
 * By default all messages are translated using the default language.
 * A string can be used as the second parameter to specified the language
 * that the message was written in.
 *
 *     // Get errors from messages/forms/login.php
 *     $errors = $Validation->errors('forms/login');  

尝试使用$errors = $post->errors('models/user')代替$errors = $post->errors('signup')