网站首页 > 编程文章 正文
thinkphp5系列之模型验证
thinkphp5系列之模型验证
数据验证,是保证数据安全的有效方式,在thinkphp5中有着非常方便的模型验证数据,处理方式跟tp3有些不一样的地方,这里超人给出详细的解释和说明,以提供大家在说些的时候少走弯路...
thinkphp5模型验证手册地址:https://www.kancloud.cn/manual/thinkphp5/129355
模型验证我们可以有两种方式
使用验证器进行验证(tp5推荐使用的验证方式)
模型中直接验证
这里以栏目作为说明
以下截图是创建category控制器和模型
和模板页面
验证器验证
thinkphp5验证器手册地址:https://www.kancloud.cn/manual/thinkphp5/129352
首先需要在application/admin下创建validate目录
该目录中创建Category.php
控制器代码:
模型代码:
这里需要注意:
默认情况下验证器需要跟验证器名称一致
也就是模型为:Category.php,那么验证器名称:Category.php
验证器代码:
验证器中$rule来定义验证规则
一个字段如如需多个规则验证使用管道符分割
thinkphp5内置规则:https://www.kancloud.cn/manual/thinkphp5/129356
提示消息【$message】可以不定义,这时候会有默认提示消息
$message可自定义提示信息内容
如果需要调用的验证器类【Cate.php】和当前的模型名称不一致;
建议模型与对应的验证器名一致;
那么模型代码可以这样:
验证时候同样也可以支持场景验证;
这时候验证器需要增加$scene在验证器中:
此时模型验证时
可以这样使用
这样就可以在添加验证cname和description
而在编辑时候可以调用Category.edit只验证description
直接在模型中验证
这个时候不需要验证器了;
不需要创建validate/Category.php了
而将代码直接写在模型中即可
这里跟验证器其实一样的
$this->validate()中
参数1定义验证规则
参数2定义提示信息
个人建议使用验证器进行验证
结构比较清晰
简化模型代码
有必要情况下可以使用场景验证更为方便
【本文来自 武斌博客 http://www.wubin.pro,为超人原创文章,想获取更好的页面浏览效果或者有任何问题请进入博客,同时也可在博主评论区进行留言,让博主为大家答疑解惑~加技术交流群:190338003,欢迎讨论~】
猜你喜欢
- 2024-10-10 Lin-CMS 是经过大量项目实践所提炼出的一套内容管理系统框架
- 2024-10-10 在VSCode中调试ThinkPHP8.0,开启调试模式
- 2024-10-10 cmpay聚合支付系统(聚合支付产品介绍)
- 2024-10-10 thinkphp6开启调试与配置文件003(thinkphp6视频教程)
- 2024-10-10 ThinkPHP之多表联合查询(thinkphp 多表查询)
- 2024-10-10 ThinkPhp6从安装到配置全解(thinkphp 5.0.24 rce)
- 2024-10-10 ThinkPHP5.*远程代码执行高危漏洞手工与升级修复解决方法
- 2024-10-10 ThinkPHP v5.1.x POP 链分析(thinkphp pdo)
- 2024-10-10 ThinkPHP6.0如何开启Session(thinkphp5 session)
- 2024-10-10 thinkphp6学习笔记之安装(thinkphp6下载)
你 发表评论:
欢迎- 05-142014年最流行前端开发框架对比评测
- 05-14七爪源码:如何使用 Next.js 构建 Shopify 店面
- 05-14Web 前端怎样入门?
- 05-14我为什么不建议你使用框架
- 05-14推荐几个好用的React UI 框架
- 05-14PDFsharp:强大的 .NET 跨平台 PDF 处理库
- 05-14一组开源免费的Web动画图标,荐给需要的设计师和程序员
- 05-14salesforce 零基础学习(二十九)Record Types简单介绍
- 最近发表
- 标签列表
-
- spire.doc (59)
- system.data.oracleclient (61)
- 按键小精灵源码提取 (66)
- pyqt5designer教程 (65)
- 联想刷bios工具 (66)
- c#源码 (64)
- graphics.h头文件 (62)
- mysqldump下载 (66)
- sqljdbc4.jar下载 (56)
- libmp3lame (60)
- maven3.3.9 (63)
- 二调符号库 (57)
- 苹果ios字体下载 (56)
- git.exe下载 (68)
- diskgenius_winpe (72)
- pythoncrc16 (57)
- solidworks宏文件下载 (59)
- qt帮助文档中文版 (73)
- satacontroller (66)
- hgcad (64)
- bootimg.exe (69)
- android-gif-drawable (62)
- axure9元件库免费下载 (57)
- libmysqlclient.so.18 (58)
- springbootdemo (64)
本文暂时没有评论,来添加一个吧(●'◡'●)