6错误提示信息
未知
2021-07-04 11:41:36
0

验证规则的错误提示信息有三种方式可以定义,如下:

使用默认的错误提示信息

如果没有定义任何的验证提示信息,系统会显示默认的错误信息,例如:

namespace app\validate;

use think\Validate;

class User extends Validate
{
    protected $rule = [
      'name'  => 'require|max:25',
      'age'   => 'number|between:1,120',
      'email' => 'email',
    ];

}
复制
$data = [
    'name'  => 'thinkphp',
    'age'   => 121,
    'email' => 'thinkphp@qq.com',
];

$validate = new \app\validate\User;
$result = $validate->check($data);

if(!$result){
    echo $validate->getError();
}
复制

会输出 age只能在 1 - 120 之间

可以给age字段设置中文名,例如:

namespace app\validate;

use think\Validate;

class User extends Validate
{
    protected $rule = [
      'name'  => 'require|max:25',
      'age|年龄'   => 'number|between:1,120',
      'email' => 'email',
    ];

}
复制

会输出 年龄只能在 1 - 120 之间

单独定义提示信息

如果要输出自定义的错误信息,可以定义message属性:

namespace app\validate;

use think\Validate;

class User extends Validate
{
    protected $rule = [
      'name'  => 'require|max:25',
      'age'   => 'number|between:1,120',
      'email' => 'email',
    ];

    protected $message = [
      'name.require' => '名称必须',
      'name.max'     => '名称最多不能超过25个字符',
      'age.number'   => '年龄必须是数字',
      'age.between'  => '年龄必须在1~120之间',
      'email'        => '邮箱格式错误',
    ];
}
复制
$data = [
    'name'  => 'thinkphp',
    'age'   => 121,
    'email' => 'thinkphp@qq.com',
];

$validate = new \app\validate\User;
$result = $validate->check($data);

if(!$result){
    echo $validate->getError();
}
复制

会输出 年龄必须在1~120之间

错误信息可以支持数组定义,并且通过JSON方式传给前端。

namespace app\validate;

use think\Validate;

class User extends Validate
{
    protected $rule = [
      'name'  => 'require|max:25',
      'age'   => 'number|between:1,120',
      'email' => 'email',
    ];

    protected $message = [
      'name.require' => ['code' => 1001, 'msg' => '名称必须'],
      'name.max'     => ['code' => 1002, 'msg' => '名称最多不能超过25个字符'],
      'age.number'   => ['code' => 1003, 'msg' => '年龄必须是数字'],
      'age.between'  => ['code' => 1004, 'msg' => '年龄必须在1~120之间'],
      'email'        => ['code' => 1005, 'msg' =>'邮箱格式错误'],
    ];
}
复制

使用多语言

验证信息提示支持多语言功能,你只需要给相关错误提示信息定义语言包,例如:

namespace app\validate;

use think\Validate;

class User extends Validate
{
    protected $rule = [
      'name'  => 'require|max:25',
      'age'   => 'number|between:1,120',
      'email' => 'email',
    ];

    protected $message = [
      'name.require' => 'name_require',
      'name.max'     => 'name_max',
      'age.number'   => 'age_number',
      'age.between'  => 'age_between',
      'email'        => 'email_error',
    ];
}
复制

你可以在语言包文件中添加下列定义:

'name_require '	=>	'姓名必须',
'name_max' 		=>	'姓名最大长度不超过25个字符',
'age_between'	=>	'年龄必须在1~120之间',
'age_number'	=>	'年龄必须是数字',
'email_error'	=>	'邮箱格式错误',
复制

系统内置的验证错误提示均支持多语言(参考框架目录下的lang/zh-cn.php语言定义文件)。

上一篇:6验证规则

下一篇:6验证场景

相关内容

探索PHP `max_ch...
摘要: PHP的`max_children`参数是PHP-FPM...
2025-06-25 01:23:43
PHP `max_chil...
PHP `max_children`是PHP-FPM配置中定义子进...
2025-06-24 01:23:47
PHP配置中的`max_c...
`max_children`在PHP-FPM中决定并发子进程数,影...
2025-06-23 01:23:48
习近平同某国领导人互致贺电...
本文提供了问题解答的方法,包括参考相关内容网站或直接询问其他问题。...
2025-06-10 01:23:24
探索MySQL索引的创建、...
MySQL索引的创建、使用与维护对于数据库性能至关重要,合理创建、...
2025-06-02 01:23:35
索引在MySQL中的重要作...
MySQL中索引重要作用:提高查询效率,加速联接和排序,减少碎片化...
2025-06-01 01:23:39

热门资讯

tp6开发规范 命名规范 请理解并尽量遵循以下命名规范,可以减少在开发过程中出现不必要的错误。 ThinkPHP6....
6高级查询 快捷查询 快捷查询方式是 一种多字段相同查询条件 的简化写法,可以进一步简化查询条件的写法,在多个字...
tp6多应用提示控制器不存在:... 第一个情况是没有使用composer安装扩展。 如果要使用多应用模式, 你需要win+r,cmd指针...
6配置 配置目录 单应用模式 对于单应用模式来说,配置文件和目录很简单,根目录下的 config 目录下面就...
6异常处理 和PHP默认的异常处理不同,ThinkPHP抛出的不是单纯的错误信息,而是一个人性化的错误页面。 异...
6swoole 本篇内容主要讲述了最新的 think-swoole 扩展的使用。目前仅支持Linux环境或者MacO...
6助手函数 助手函数 系统为一些常用的操作方法封装了助手函数,便于使用,包含如下: 助手函数 描述 abort ...
6查询表达式 查询表达式 查询表达式支持大部分的SQL查询语法,也是 ThinkPHP 查询语言的精髓,查询表达式...
6路由参数 路由参数 路由分组及规则定义支持指定路由参数,这些参数主要完成路由匹配检测以及后续行为。 路由参数可...
多应用模式 多应用 安装后默认使用 单应用模式部署 ,目录结构如下: ├─app 应用目录│ ├─control...