php - 验证错误消息

标签 php kohana

我正在为 Kohana 开发授权系统。我这样做只是为了教育......

这是我的 Controller 检查提交字段的样子:

$validation =
  Validation::factory( $_POST )
    ->rule( 'username', 'not_empty' )
    ->rule( 'username', 'max_length', array( ':value', 32 ) )
    ->rule( 'username', 'alpha_dash', array( ':value', true ) )
    ->rule( 'password', 'not_empty' )
    ->rule( 'password', 'min_length', array( ':value', 6 ) )
    ->rule( 'password', 'max_length', array( ':value', 255 ) )
    ->rule( 'passwordRepeatedly', 'not_empty' )
    ->rule( 'passwordRepeatedly', 'matches', array( ':validation', 'passwordRepeatedly', 'password' ) )
    ->rule( 'email', 'not_empty' )
    ->rule( 'email', 'email' );

我正在寻找为每个添加的规则显示不同错误消息的方法。然后我的目标是传递它(一个或全部(如果发生))以在那里查看和显示它们。

伪代码:

errorFor( 'username', 'not_empty' ) => 'Username is required! Try again...';

如何为每个规则定义不同的错误?我在文档中找不到任何对我来说可以理解的内容...

最佳答案

你有:

$validation = ...

所以,首先你应该检查变量是否通过验证:

if($validation->check()) 
{
  // no errors
}
else
{
    $errors = $validation->errors('user');
}

然后你应该在 application/messages 中有 user.php 文件

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

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

  );

?>

显示错误:

foreach($errors as $input_field => $message) 
    echo $message;

关于php - 验证错误消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6217221/

相关文章:

php - 如何使用 Docker 不在默认 80 端口启动现有的 Wordpress 应用程序镜像?

php - 为什么在php中一行代码中会有多个对象运算符?

javascript - JQuery 数据属性在 Kohana ajax 中被剥离

php - 如何在 Kohana 中使用 MongoDB?

php - 在 PHP 中使用 Kohana 3.2 发布 JSON 字符串

php - 如何为不同的 "mobile device interfaces"和 "desktop interfaces"组织代码

php发送邮件并在同一页面显示成功信息

javascript - JQuery 和 PHP - 更改背景图片

php - 在生日时向不同客户发送邮件

php - Android 应用程序不发送图片到数据库 PHP MYSQL