Thinkphp5框架使用validate实现验证功能的方法


Posted in PHP onAugust 27, 2019

本文实例讲述了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 lang="en">
<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("新增失败!");
    }
}

这样就可以了。很简单的实现。关于每个字段的规则,内容很多可以参考手册或者官网吧。

希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

PHP 相关文章推荐
用PHP和ACCESS写聊天室(三)
Oct 09 PHP
PHP教程 变量定义
Oct 23 PHP
PHP去掉从word直接粘贴过来的没有用格式的函数
Oct 29 PHP
神盾加密解密教程(一)PHP变量可用字符
May 28 PHP
php中define用法实例
Jul 30 PHP
yii2超好用的日期组件和时间组件
May 05 PHP
PHP封装的多文件上传类实例与用法详解
Feb 07 PHP
php查找字符串中第一个非0的位置截取
Feb 27 PHP
PHP命名空间简单用法示例
Dec 28 PHP
thinkPHP5框架路由常用知识点汇总
Sep 15 PHP
Yii框架where查询用法实例分析
Oct 22 PHP
Laravel框架源码解析之入口文件原理分析
May 14 PHP
thinkPHP3.2使用RBAC实现权限管理的实现
Aug 27 #PHP
PHP如何将图片文件上传到另外一台服务器上
Aug 26 #PHP
PHP命名空间与自动加载机制的基础介绍
Aug 25 #PHP
php的命名空间与自动加载实现方法
Aug 25 #PHP
PHP7数组的底层实现示例
Aug 25 #PHP
PHP实现cookie跨域session共享的方法分析
Aug 23 #PHP
php常用经典函数集锦【数组、字符串、栈、队列、排序等】
Aug 23 #PHP
You might like
PHP json_encode() 函数详解及中文乱码问题
2015/11/05 PHP
php实现统计目录文件大小的函数
2015/12/25 PHP
php自定义截取中文字符串-utf8版
2017/02/27 PHP
Laravel中的Blade模板引擎示例详解
2017/10/10 PHP
PHP PDOStatement::fetchAll讲解
2019/01/31 PHP
Thinkphp框架使用list_to_tree 实现无限级分类列出所有节点示例
2020/04/04 PHP
firefox 和 ie 事件处理的细节,研究,再研究 书写同时兼容ie和ff的事件处理代码
2007/04/12 Javascript
基于Jquery的开发个代阴影的对话框效果代码
2011/07/28 Javascript
JavaScript按位运算符的应用简析
2014/02/04 Javascript
js事件监听机制(事件捕获)总结
2014/08/08 Javascript
jquery实现Li滚动时滚动条自动添加样式的方法
2015/08/10 Javascript
实例解析jQuery中proxy()函数的用法
2016/05/24 Javascript
Select下拉框模糊查询功能实现代码
2016/07/22 Javascript
Three.js利用顶点绘制立方体的方法详解
2017/09/27 Javascript
微信小程序实现顶部导航特效
2019/01/28 Javascript
JavaScript实现PC端横向轮播图
2020/02/07 Javascript
详解ES6数组方法find()、findIndex()的总结
2020/05/12 Javascript
[14:57]DOTA2 HEROS教学视频教你分分钟做大人-幽鬼
2014/06/13 DOTA
python打开url并按指定块读取网页内容的方法
2015/04/29 Python
发布你的Python模块详解
2016/09/15 Python
python 编写简单网页服务器的实例
2018/06/01 Python
Python内置函数及功能简介汇总
2020/10/13 Python
CSS3中动画属性transform、transition和animation属性的区别
2016/09/25 HTML / CSS
中国电子产品批发商/跨境电商/外贸网:Sunsky-online
2020/04/20 全球购物
校园安全教育广播稿
2014/02/17 职场文书
生物制药专业求职信
2014/03/11 职场文书
办公室文员岗位职责范本
2014/06/12 职场文书
煤矿安全生产月活动总结
2014/07/05 职场文书
运输企业安全生产责任书
2014/07/28 职场文书
行政执法队伍作风整顿个人剖析材料
2014/10/11 职场文书
个人廉洁自律总结
2015/03/06 职场文书
服务员岗位职责范本
2015/04/09 职场文书
商务司机岗位职责
2015/04/10 职场文书
团队拓展训练心得体会
2016/01/12 职场文书
竞聘开场白方式有哪些?
2019/08/28 职场文书
Python爬虫之爬取二手房信息
2021/04/27 Python