Thinkphp 如何自动验证及验证规则

2023-11-02

    在添加数据或者创建数据的时候,我们一般对数据进行处理,ThinkPHP模型层提供的一种数据验证方法,可以在使用create创建数据对象的时候自动进行数据验证。

   1,自动验证的用法

namespace Home\Model;
use Think\Model;
class UserModel extends Model{
   protected $_validate = array(
     array('verify','require','验证码必须!'), //默认情况下用正则进行验证
     array('name','','帐号名称已经存在!',0,'unique',1), // 在新增的时候验证name字段是否唯一
     array('value',array(1,2,3),'值的范围不正确!',2,'in'), // 当值不为空的时候判断是否在一个范围内
     array('repassword','password','确认密码不正确',0,'confirm'), // 验证确认密码是否和密码一致
     array('password','checkPwd','密码格式不正确',0,'function'), // 自定义函数验证密码格式
   );
}

定义好验证规则后,就可以在使用create方法创建数据对象的时候自动调用:

$User = D("User"); // 实例化User对象
if (!$User->create()){
     // 如果创建失败 表示验证没有通过 输出错误提示信息
     exit($User->getError());
}else{
     // 验证通过 可以进行其他数据操作
}

2,验证规则

数据验证有两种方式:

静态方式:在模型类里面通过$_validate属性定义验证规则。
动态方式:使用模型类的validate方法动态创建自动验证规则。

文章来自 www.huthon.com

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Thinkphp 如何自动验证及验证规则 的相关文章

  • ThinkPHP 鲜为人知的 selectAdd 方法 addAll( select() )

    TP算是国内相当热门的一个PHP框架 xff0c 相信大家对TP的普通增删查改所用的select add save delect find getField 等等内置函数早已烂熟于心了 今天 xff0c 就向大家介绍一种TP手册中未提及 x
  • ThinkPHP 大D方法思想下的JDBC操作数据库D类

    这里我封装出来的D 类 xff0c 是根据 ThinkPHP 中的 D 方法中做出来的 xff0c 其中有些出入的地方 xff0c 我进行了一些个性化的修正 xff0c 如 xff1a ThinkPHP 中操作数据库时 xff0c 需要在配
  • ThinkPHP中的create方法与自动令牌验证

    转载自 xff1a Thinkphp中Create方法深入探究 ThinkPHP中的create方法与自动令牌验证实例教程 Thinkphp中Create方法深入探究 由于工作原因在thinkPHP的create 方法上遇到了问题 xff0
  • find() php,Thinkphp中select()和find()方法

    1 做一个超链接 xff0c 包裹相册名称 xff0c 链接地址为photo show php 并把当前id传递进去 二 修改目录 1 添加修改的超链接 xff0c 传递id php view plain copy Thinkphp中sel
  • ThinkPHP下 自定义日志输出

    项目场景 xff1a 不想调用TP的 think Log类工具 xff0c 而是自定义日志的输出路径 文件名和内容 xff1a 解决方案 xff1a 提示 xff1a 这里填写该问题的具体解决方案 xff1a 1 首先在common php
  • ThinkPHP方法简介

    1 U URL组装 支持不同URL模式 U方法 xff1a U方法是用来生成URL地址的 在模板中可以这样使用 生成当前模块的方法的操作地址 lt a href 61 34 U 39 方法名 39 34 gt 超链接 lt a gt 生成模
  • Thinkphp 6.0数据库的时间查询

    本节课我们要单独学习一下时间的所有查询方式 xff0c 包括传统式 快捷方式和固定查询等 一 xff0e 传统方式 1 可以使用 gt lt gt 61 lt 61 来筛选匹配时间的数据 xff1b Db name 39 user 39 g
  • Thinkphp修改密码的实现

    密码修改是开发中很基础的一个功能 密码修改的HTML代码如下 span span lt form method 61 post class 61 form horizo ntal action 61 gt span span span st
  • thinkphp6 入门(1)--安装、路由规则、多应用模式

    一 安装thinkphp6 具体参考官方文档 安装 ThinkPHP6 0完全开发手册 看云 下面仅列举重要步骤 ThinkPHP6 0的环境要求如下 PHP gt 7 2 5 1 安装Composer 2 安装稳定版thinkphp 如果
  • ThinkPHP6 API开发前后端分离用户信息保存在后端的方法

    今天在做项目的时候有一个问题就是Session在开发API的情况下官方是不推荐用的 那么问题来了 用户信息怎么保存呢 下面来记录一下我的写法 首先我用的是JWT插件对token进行生成及验证 话不多说 撸起袖子搞起来 首先写登录文件 我的文
  • thinkphp 用七牛云异步上传文件(前后端代码)

    1 首先创建一个七牛云帐号 完成后 添加对象存储 2 创建成功后 右上角 密钥管理 查看秘钥 找到AK SK 3 打开thinkphp的配置文件 将此代码加入 CONFIG QINIU gt array accessKey gt 你的AK
  • php 实现excel打包下载

    场景说明 举例说明 一个表单下面有多个提交的留言 导出这些留言 并且一个表单是一个excel 生成zip压缩包 msgList是数据 这里我将要导出的列表 列标题 名称都放在了一个变量中传递过来了 具体的数据结构如下 msgList for
  • thinkphp 中 使用七牛云上传(来自thinkphp官网)

    利用七牛云私有空间存储文件 第一步 注册七牛云 创建空间 将空间设为私有 需要记下的东西 AK SK bucket 第二步配置ThinkPHP 在config php添加 UPLOAD SITEIMG QINIU gt array maxS
  • ThinkPHP5.1 工厂模式集成多个短信平台

    app index controller Sms
  • ThinkPHP5.1开发企业微信支付到零钱

    Wxpay php
  • thinkphp 随笔——模型更新成功返回的数据

    thinkphp 随笔 模型更新成功返回的数据 先上图 这是我修改了一个表内的 value 字段 修改成功之后返回了这个字段的最新值 thinkphp 随笔 个人博客 http www sharekong xyz 欢迎访问
  • 支付订单同步回调

    public function pay params input 接收数据 判断订单号支付方式不为空 validate this gt validate params order sn gt require pay code 支付方式 gt
  • thinkphp6 入门(6)--中间件是什么 怎么用

    一 什么是中间件 当客户端发送请求至服务器时 HTTP请求会经过多个中间件 最后返回响应给客户端 中间件可以 在请求到达目标控制器或动作之前对请求进行操作 可以在响应离开目标控制器或动作之前对响应进行操作 二 中间件的作用 我们可以在不修改
  • TP5使用predis

    1 安装 composer require predis predis 2 使用 use use Predis Client class Index 使用predis public function index 配置连接的IP 端口 以及相
  • 安装ThinkPHP5.1并在框架中使用FFmpeg视频处理工具遇到的问题和解决办法

    一 安装ThinkPHP5 1框架 问题一 安装方法有很多 我这里使用composer安装的 但是遇到了问题 出现了报错 安装方法可是查看 https www kancloud cn manual thinkphp5 1 353948 co

随机推荐

  • 成为FISCO BCOS MVP,并肩链上创未来

    开源以来 FISCO BCOS受到众多开发者的支持 支撑生态内企业数百个应用项目的研发 其中 超120个应用投入使用 目前开源社区已汇聚了超40000名开发者 既有在区块链路上探索实践的开发者 也有自成一派 颇有建树的技术大牛 大家聚集于此
  • ESP32-C3 学习测试 蓝牙 篇(七、GATT 数据通信 — 发送自定义数据)

    前面我们已经入门了 GATT 的开发 更进一步 进行想要的数据通信 目录 前言 1 通信问题思考 2 如何才能每次传输不同的数据 3 对 handle 的认识 4 继续尝试 5 测试成功 结语 前言 本来计划直接做一个蓝牙的小应用 首先得实
  • 【Unity故障】Unityhub登录界面白屏(刷新不出那种感觉)

    平时打开UnityHub可能也就是偶尔需重新激活一下许可证 今天进去发现每个工程后都一个黄色感叹号标志 看了下账号也没登状态 当我以为登个账号就解决 然后就一直卡在这个界面 好像在哪看见过这个问题直接百度搜 资料很多 前人已经帮我们铺平了道
  • java.lang.IllegalArgumentException: jdbcUrl is required with driverClassName.

    springboot 配置多数据源时 启动出现java lang IllegalArgumentException jdbcUrl is required with driverClassName 修改 spring datasource
  • HIVE解析JSON数组

    HIVE解析JSON数组 数据示例 payAmount 375000 payChannelCode BOC payAmount 376000 payChannelCode AOC 1 get json object函数提取json数组里面特
  • 快速排序算法讲解及代码(详细)

    快速排序算法 一 序言 二 快速排序基本思想 三 具体步骤 四 具体代码 一 序言 快速排序是一种高效且使用广泛的排序算法 在很多语言的标准库中自带的排序都是快速排序 所以我们也有必要了解快排的原理以及实现方法 二 快速排序基本思想 算法思
  • C51单片机学习1

    工程的建立与烧录 一 工程的建立 1 在想要建立工程的地点新建一个文件夹 2 打开C51 选择新建项目 3 点击保存 4 选择芯片AT89C52 选好点击OK 5 破解版的一个bug 点击否就好了 6 然后工程就建立好了 二 工程的配置 1
  • FPGA引脚简介

    一 FPGA的硬件结构 这里说的硬件结构主要从FPGA的引脚功能方面描述 FPGA内部的电路逻辑暂不讨论 FPGA的引脚大致可以分为三类 功能引脚 IO引脚 电源和接地引脚 1 功能引脚 FPGA的功能引脚包含了FPGA配置程序加载 FPG
  • 如何自定义FileZilla编辑文件的默认打开方式

    需求来源于 用FileZilla编辑远程的文件时 每次打开居然不会提示我 打开方式 而是直接跳到了网页 以网页的形式展现 这样我怎么好进行编辑其中的内容 特别是对于xml文件 我们通常需要对它进行配置 可是 如果打开方式是网页 比如 直接跳
  • vue项目引入element-ui的三种方式

    1 element ui插件引用 推荐 通过执行命令vue add element来进行引入 2 npm install 此种方式为全量引入element ui 打包体积大 通过执行命令npm i element ui S安装依赖 main
  • linux超级用户添加,为linux普通用户添加超级用户权限sudo

    问题 假设用户名为 ali 如果用户名没有超级用户权限 当输入 sudo 命令 时 系统提示 ali is not in the sudoers file This incident will be reported 解决 1 进入超级用户
  • unity editer2020版本安装

    unity editer2020版本安装 前言 unity安装 激活许可证 前言 官方下载unity最新版本 unity安装 1 点击下载 2 点击 下载Unity Hub 3 由于我是windows10系统 所以点击 Windows 下载
  • vue表格展示照片点击放大并可左右切换查看

    一 vue展示后台返回照片集合 前端代码展示
  • 基于机器学习的恶意软件加密流量检测研究分享

    1 概述 2 恶意软件加密流量介绍 3 加密HTTPS流量解析 4 特征工程 5 模型效果 6 具体实施 7 总结 1 概述 近年来随着HTTPS的全面普及 为了确保通信安全和隐私 越来越多的网络流量开始采用HTTPS加密 截止今日 超过6
  • 深度学习模型推理时间与FPS的求取方法,以及time,OpenCV的API教程

    类似深度学习中目标检测的深度学习模型中有两个非常重要的性能指标 一个是MAP就是检测的准确率 另一个就是FPS 就是模型的推理速度 那么我们如何能够知道模型和视频的推理速度呢 接下来我们直接进入正题 一 求取模型的推理时间我们需要借助pyt
  • C语言支不支持重载?

    首先这个问题的答案是C 支持函数重载而C语言不支持函数重载 下面我们从程序编译链接阶段看看其中的原因 先看看重载的定义 函数重载就是指 在同一作用域类 一组函数的函数名相同 参数列表不同 个数不同或类型不同 返回值可同可不同 那么问题来了
  • 风火速打印小程序分析

    这里写自定义目录标题 软件需求背景 分析风火速功能 功能介绍 总结 软件需求背景 类似淘宝 京东第三方卖家需要一个OMS系统 并提供辅助的快递订单打印功能 现在菜鸟物流已标准化了各家快递公司的电子面单 也可以独立对接快递公司 商家需求提供一
  • 高性能Spark作业调优

    在大数据计算领域 Spark已经成为了越来越流行 越来越受欢迎的计算平台之一 Spark的功能涵盖了大数据领域的离线批处理 SQL类处理 流式 实时计算 机器学习 图计算等各种不同类型的计算操作 应用范围与前景非常广泛 在美团点评 已经有很
  • [CentOS Python系列] 三.阿里云MySQL数据库开启配置及SQL语句基础知识

    从2014年开始 作者主要写了三个Python系列文章 分别是基础知识 网络爬虫和数据分析 Python基础知识系列 Pythonj基础知识学习与提升 Python网络爬虫系列 Python爬虫之Selenium Phantomjs Cas
  • Thinkphp 如何自动验证及验证规则

    在添加数据或者创建数据的时候 我们一般对数据进行处理 ThinkPHP模型层提供的一种数据验证方法 可以在使用create创建数据对象的时候自动进行数据验证 1 自动验证的用法 namespace Home Model use Think