首页 > 编程语言 >thinkPhp的学习笔记(二)

thinkPhp的学习笔记(二)

时间:2023-12-25 16:03:16浏览次数:31  
标签:15 定义 验证 笔记 学习 201.12 规则 thinkPhp Model

7.thinkphp自动验证-->$_validate

array(验证字段,验证规则,错误提示,[验证条件,附加规则,验证时间])

1.验证字段

需要验证的表单字段名称,这个字段不一定是数据库字段,也可以是表单的一些辅助字段,例如确认密码和验证码等等。有个别验证规则和字段无关的情况下,验证字段是可以随意设置的,例如expire有效期规则是和表单字段无关的。

2.验证规则

要进行验证的规则,需要结合附加规则,如果在使用正则验证的附加规则情况下,系统还内置了一些常用正则验证的规则,可以直接作为验证规则使用,包括:require 字段必须、email 邮箱、url URL地址、currency 货币、number 数字。

3.错误提示

用于验证失败后的提示信息定义

 

4.验证条件

包含下面几种情况:

Model::EXISTS_VALIDATE 或者0 存在字段就验证 (默认)

Model::MUST_VALIDATE 或者1 必须验证

Model::VALUE_VALIDATE或者2 值不为空的时候验证

 

5.附加规则

配合验证规则使用,包括下面一些规则:

regex 正则验证,定义的验证规则是一个正则表达式(默认)

function函数验证,定义的验证规则是一个函数名

callback方法验证,定义的验证规则是当前模型类的一个方法

confirm验证表单中的两个字段是否相同,定义的验证规则是一个字段名

equal 验证是否等于某个值,该值由前面的验证规则定义

in验证是否在某个范围内,定义的验证规则必须是一个数组

length验证长度,定义的验证规则可以是一个数字(表示固定长度)或者数字范围(例如3,12 表示长度从3到12的范围)

between验证范围,定义的验证规则表示范围,可以使用字符串或者数组,例如1,31或者array(1,31)

expire验证是否在有效期,定义的验证规则表示时间范围,可以到时间,例如可以使用 2012-1-15,2013-1-15 表示当前提交有效期在2012-1-15到2013-1-15之间,也可以使用时间戳定义

ip_allow 验证IP是否允许,定义的验证规则表示允许的IP地址列表,用逗号分隔,例如 201.12.2.5,201.12.2.6

ip_deny 验证IP是否禁止,定义的验证规则表示禁止的ip地址列表,用逗号分隔,例如201.12.2.5,201.12.2.6

unique 验证是否唯一,系统会根据字段目前的值查询数据库来判断是否存在相同的值。

 

6.验证时间

Model:: MODEL_INSERT 或者1新增数据时候验证

Model:: MODEL_UPDATE 或者2编辑数据时候验证

Model:: MODEL_BOTH 或者3 全部情况下验证(默认)

标签:15,定义,验证,笔记,学习,201.12,规则,thinkPhp,Model
From: https://blog.51cto.com/u_16269895/8969501

相关文章

  • m基于Yolov2深度学习网络的驾驶员打电话行为预警系统matlab仿真,带GUI界面
    1.算法仿真效果matlab2022a仿真结果如下:2.算法涉及理论知识概要随着汽车数量的不断增加,交通安全问题日益突出。其中,驾驶员手持电话行为是导致交通事故的一个重要原因。为了降低这类事故的发生率,本文提出了一种基于Yolov2深度学习网络的驾驶员手持电话行为预警系统。该系统能够......
  • 首个离散元仿真软件EDEM好学吗?有什么学习技巧?
    EDEM是一款首个离散元仿真软件,它被广泛应用于工程领域,特别是在颗粒材料的模拟和分析方面。对于初学者来说,EDEM可能会有一定的学习曲线,但是只要掌握了一些学习技巧,就能够很快上手并熟练运用这款软件。首先,对于初学者来说,最重要的是要了解EDEM软件的基本原理和功能。可以通过阅读E......
  • Vue学习之插槽slot
    1.插槽是什么插槽就是子组件中的提供给父组件使用的一个占位符,用<slot></slot>表示,父组件可以在这个占位符中填充任何模板代码,如HTML、组件等,填充的内容会替换子组件的标签。插槽显不显示、怎样显示是由父组件来控制的,而插槽在哪里显示就由子组件来进行控制。简单理解......
  • m基于Yolov2深度学习网络的驾驶员打电话行为预警系统matlab仿真,带GUI界面
    1.算法仿真效果matlab2022a仿真结果如下: 2.算法涉及理论知识概要       随着汽车数量的不断增加,交通安全问题日益突出。其中,驾驶员手持电话行为是导致交通事故的一个重要原因。为了降低这类事故的发生率,本文提出了一种基于Yolov2深度学习网络的驾驶员手持电话行......
  • 笔记1 1
    很多人习惯用markdown写博客,然后同步到博客园,每次同步都比较麻烦。今天分享一个插件,来简化该步骤。原文章参考上传markdown文件到博客园-郭大侠1-博客园(cnblogs.com)上传markdown文件到博客园-郭大侠1-博客园(cnblogs.com)......
  • 笔记1
    很多人习惯用markdown写博客,然后同步到博客园,每次同步都比较麻烦。今天分享一个插件,来简化该步骤。原文章参考上传markdown文件到博客园-郭大侠1-博客园(cnblogs.com)上传markdown文件到博客园-郭大侠1-博客园(cnblogs.com)......
  • 大数据学习
        大数据:1.分为2类方向1.实时方向2.离线方向2.3个技术栈:1.hdoop技术栈2.spark技术栈3.flink技术栈3.hadoop和spark是技能体系4.生成ssh秘钥命令:ssh-keygen-trsa-b40965.每天机......
  • 笔记1
    很多人习惯用markdown写博客,然后同步到博客园,每次同步都比较麻烦。今天分享一个插件,来简化该步骤。原文章参考上传markdown文件到博客园-郭大侠1-博客园(cnblogs.com)上传markdown文件到博客园-郭大侠1-博客园(cnblogs.com)环境配置安装python3windows:https:/......
  • MYSQL varchar和nvarchar一些学习
    MYSQLvarchar和nvarchar一些学习背景先试用utfmb3的格式进行一下简单验证注意脚本都是一样的.createdatabasezhaobsh;usezhaobsh;createtablezhaobsh(zhaobshvarcharvarchar(30),zhaobshnvarcharnvarchar(30));insertintozhaobshvalues('123abc','1......
  • 《Go语言高级编程》学习笔记之第一章
    以下主要是记录自己看曹大的《Go语言高级编程》一书,记录下自己的学习记录以及自己的理解,仅做记录使用。原文链接1、语言基础1.3数组、字符串和切片1.3.1数组varc=[...]int{2:3,1:2}//定义长度为3的int型数组,元素为0,2,3vard=[...]int{1,2,4:......