ThinkPHP框架表单验证操作方法
时间:2019-03-30
本文章向大家介绍ThinkPHP框架表单验证操作方法,主要包括ThinkPHP框架表单验证操作方法使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
自动验证是ThinkPHP模型层提供的一种数据验证方法,可以在使用create创建数据对象的时候自动进行数据验证。分为静态验证和动态验证。
一、静态验证
(1)在Home/Controller/路径下新建Index控制器。IndexController
IndexController.class.php页面
注意:静态定义方式因为必须定义模型类,所以只能用D函数实例化模型
create方法是对表单提交的POST数据进行自动验证
<?php namespace Home\Controller; use Think\Controller; class IndexController extends Controller { public function yanzheng(){ $u= D("users");//造一个子类对象 if(empty($_POST)){ $this->show(); }else{ if($u->create()){//验证 echo"验证通过"; }else{ echo $u->getError();//获取错误信息 } } } }
(2)在view/Index文件夹下做yanzheng.html页面
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>无标题文档</title> <script src="__ROOT__/Public/js/jquery-3.2.0.min.js"></script> </head> <body> <h1>验证界面</h1> <form action="__ACTION__" method="post"> <div>用户名:<input type="text" name="uid" /></div> <div>密码:<input type="password" name="pwd1"/></div> <div>确认密码:<input type="password" name="pwd2"/></div> <div>年龄:<input type="text" name="age"/></div> <div>邮箱:<input type="text" name="Email"/></div> <div><input type="submit" value="验证" /></div> </form> </body> </html>
效果图:
(3)在Model层写静态验证的验证:(路径如图)
UsersModel.class.php
<?php namespace Home\Model; use Think\Model; class UsersModel extends Model{ //添加验证条件 protected $_validate = array( array("uid","require","用户名不能为空!"), //默认情况下用正则进行验证 array("pwd1","require","密码不能为空!"), array("pwd2","require","密码不能为空!"), array("pwd2","pwd1","两次输入的密码不一致",0,"confirm"), // 验证确认密码是否和密码一致 array("age","18,50","年龄不在范围内",0,"between"), array("Email","email","邮箱格式不正确"), ); }
依次验证效果图:
当全部为空时,点击验证
会跳转
输入用户名,其他不输入时,会跳转
两次密码输入不一致时,会提示;年龄不在范围内会提示;邮箱格式不正确时会提示;
输入正确格式内容后
二、动态验证
(1) IndexController.class.php页面
<?php namespace Home\Controller; use Think\Controller; class IndexController extends Controller { public function yz(){ $u= M("users");//造一个父类对象 if(empty($_POST)){ $this->show(); }else{ $rules = array( array("uid","require","用户名不能为空!"), ); if($u->validate($rules)->create()){//验证 $this->ajaxReturn("ok","eval"); }else{ $this->ajaxReturn("no","eval"); } } } }
(2) yz.html页面:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>无标题文档</title> <script src="__ROOT__/Public/js/jquery-3.2.0.min.js"></script> </head> <body> <h1>验证界面</h1> <form action="__ACTION__" method="post"> <div><input type="text" name="uid" id="uid" /><span id="ts"></span></div> <div><input type="submit" value="验证" /></div> </form> </body> <script type="text/javascript"> $("#uid").blur(function(){ var uid = $(this).val(); $.ajax({ url:"__ACTION__", data:{uid:uid}, type:"POST", dataType:"TEXT", success: function(data){ if(data.trim()=="ok") { $("#ts").html("验证通过"); } else { $("#ts").html("用户名不能为空"); } } }); }) </script> </html>
看一下效果:
当文本框失去焦点时:
当文本框有内容时,再失去焦点:
以上所述是小编给大家介绍的ThinkPHP框架表单验证操作方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
- 我所理解的RESTful Web API [Web标准篇]
- ASP.NET Web API中的Controller
- iOS 转场动画探究(二)
- Swift 面向对象解析(二)
- 谈谈基于OAuth 2.0的第三方认证 [中篇]
- [ASP.NET Web API]如何Host定义在独立程序集中的Controller
- ASP.NET Web API自身对CORS的支持: EnableCorsAttribute特性背后的故事
- 【黑客解析】黑客是如何实现数据库勒索的 ?
- 直播回看:高可用架构入门 —— 腾讯云架构演变及经验
- 【腾讯云的1001种玩法】十分钟轻松搞定云架构之一 :从上云开始
- 【腾讯云的1001种玩法】十分钟轻松搞定云架构之二:更好的网络
- 【腾讯云的1001种玩法】十分钟轻松搞定云架构之三:更大的存储
- Socket学习总结系列(一) -- IM & Socket
- 【腾讯云的1001种玩法】十分钟轻松搞定云架构 之四:替你分心的负载均衡
- php概述
- php教程
- php环境搭建
- PHP书写格式
- php变量
- php常量
- PHP注释
- php数组
- php字符串 string
- PHP整型 integer
- PHP浮点型 float
- php布尔型
- php数据类型之数组
- php数据类型之对象
- php数据类型之null
- php数据类型之间的转换
- php运算符
- php表达式
- PHP循环控制
- PHP流程控制
- php函数
- php全局变量
- PHP魔术变量
- php命名空间
- php 日期
- PHP包含文件
- php文件
- PHP 文件上传
- php Cookies
- php Sessions
- php email
- php安全email
- php错误处理
- PHP异常处理
- php过滤器
- PHP 高级过滤器
- php json
- php 表单
- PHP MySQL 简介
- PHP 连接 MySQL
- php创建数据库
- php 创建表
- php mysq 插入数据
- PHP MySQL 插入多条数据
- PHP MySQL 预处理语句
- php mysql 读取数据
- php mysql where
- PHP MySQL Order By
- PHP MySQL Update
- PHP MySQL Delete
- php ODBC
- python打开文件的方式有哪些
- PHP实现二维数组按照指定的字段进行排序算法示例
- python怎么自定义捕获错误
- Codeforces Round #677 (Div. 3)
- PHP PDOStatement::fetchObject讲解
- PHP PDOStatement::getAttribute讲解
- Laravel框架自定义验证过程实例分析
- Codeigniter里的无刷新上传的实现代码
- django ObjectDoesNotExist 和 DoesNotExist的用法
- PHP PDOStatement::closeCursor讲解
- 使用python实现下载我们想听的歌曲,速度超快
- JS(jQuery)实现聊天接收到消息语言自动提醒功能详解【提示“您有新的消息请注意查收”】
- OpenCV4.1.0+VS2017环境配置的方法步骤
- 详解如何实现Laravel的服务容器的方法示例
- laravel 数据迁移与 Eloquent ORM的实现方法