Thinkphp5如何使用validate实现验证功能
下面由thinkphp框架教程栏目给大家介绍Thinkphp5使用validate实现验证功能,希望对需要的朋友有所帮助!
作为前端er,对于验证这块有着切身的体会,虽然逐渐得心应手,但始终没有一个内置的功能拿来就能用。tp5恰好提供一个。本文简单介绍并实现以下。主要是实现一下。
验证的实现基于tp5内置的对象validate。
在Index模块化下index控制器同级目录创建一个validate文件,里面一个Vdate.php验证文件,这个文件也可以放在common目录下面,只要namespace正确就可。代码如下
<?php namespace app\index\validate; use think\Validate; class Vdate extends Validate{ //每个字段对应一个规则,这是第一层 protected $rule=[ ["name","require|max:10","不能为空|分类名不能超过10个字符"], ["parent_id","number","必须为数字"], /* ["id","number","必须是数字"], ["status","number|in:1,0,-1","必须是数字|必须是是0,-1,1"],*/ ]; //应用的场景,这是第二层 protected $scene=[ "save"=>["name","parent_id"], ]; }
可以写多个字段,就如同我注释的。
然后前端页面代码:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>验证数据</title> </head> <body> <form action="{:url('index/validateF')}" method="GET"> <input type="text" name="name"> <input type="submit" value="提交"> </form> </body> </html>
后端控制器index下面对应的validateF
public function validateF() { $data=input("get."); print_r($data); $validate=validate("Vdate"); //使用验证 //scene("save")->check($data)内置方法 if(!$validate->scene("save")->check($data)){ $this->error($validate->getError());//内置错误返回 } //剩下操作 $res=model("category")->add($data); if($res){ $this->success('新增成功'); }else{ $this->error("新增失败!"); } }
这样就可以了。很简单的实现。关于每个字段的规则,内容很多可以参考手册或者官网吧。
本文结束。
以上是Thinkphp5如何使用validate实现验证功能的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

宝塔部署thinkphp5报错的解决办法:1、打开宝塔服务器,安装php pathinfo扩展并启用;2、配置“.access”文件,内容为“RewriteRule ^(.*)$ index.php?s=/$1 [QSA,PT,L]”;3、在网站管理里面,启用thinkphp的伪静态即可。

thinkphp5 url重写不行的解决办法:1、查看httpd.conf配置文件中是否加载了mod_rewrite.so模块;2、将AllowOverride None中的None改为All;3、修改Apache配置文件.htaccess为“RewriteRule ^(.*)$ index.php [L,E=PATH_INFO:$1]”保存即可。

thinkphp5获取请求网址的方法:1、使用“\think\Request”类的“$request = Request::instance();”方法获取当前的url信息;2、通过自带的助手函数“$request->url()”获取包含域名的完整URL地址。

thinkphp5 post得不到值是因为TP5是通过strpos函数在Header的content-type值中查找app/json字符串的,其解决办法就是设置Header的content-type值为app/json即可。

去除thinkphp5标题栏icon的方法:1、找到thinkphp5框架public下的favicon.ico文件;2、删除该文件或者选择另一张图片命名改为favicon.ico,并替换原favicon.ico文件即可。

thinkphp5提示控制器不存在的解决办法:1、检查对应的控制器里面的命名空间是否写对,修改为正确的命名空间;2、打开相应的tp文件,修改类名即可。

ThinkPHP5查询昨天数据的方法:1、打开ThinkPHP5相关文件;2、通过表达式“db('table')->whereTime('c_time', 'yesterday')->select();”查询昨天的数据即可。

thinkphp5设置报错提示的方法:1、进入项目根目录下的public文件夹,打开index.php入口文件;2、查看调试模式开关的注释;3、将“APP_DEBUG”常量的值调整为true即可展示错误信息提示。
