Thinkphp框架 表单自动验证登录注册 ajax自动验证登
2017-02-13 17:14:10
php
这篇文章主要介绍了Thinkphp框架 表单自动验证登录注册 ajax自动验证登录注册的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
动态验证:(不需要建Model模型)
1.建一个控制器,做表单操作(包含验证)
<?php namespace Biaodan\Controller; use Think\Controller; class BiaodanController extends Controller { public function test() { if(empty($_POST))//如果$_POST空,显示添加页面, { $this->show(); } else //如果$_POST不为空,走验证,验证是否成功,添加数据库 { $y = D("yonghu"); $arr = array(//造一个验证规则 array(‘uid‘,‘require‘,‘用户名不能为空!‘,0), array(‘pwd‘,‘pwd1‘,‘输入的密码不一致‘,0,‘confirm‘),//相等验证:confirm(验证表单中的两个字段是否相同,定义的验证规则是一个字段名),意思是pwd1必须为字段 array(‘email‘,‘email‘,‘邮箱格式不正确‘,0), array(‘name‘,‘/^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}([0-9]|X)$/‘,‘身份证号不正确‘,0,‘regex‘),//正则表达式, array(‘age‘,‘18,50‘,‘年龄不在范围内‘,0,‘between‘)//范围验证 ); if($y->validate($arr)->create())//$y->validate($arr),添加之前执行验证规则 { $y->add(); } else { die($y->getError()); } } } } |
2.对应控制器方法的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> </head> <body> <form action="__ACTION__" method="post"> <br /> <br /> <br /> <br /> <div>用户名:<input type="text" name="uid" /></div> <br /> <div>密码:<input type="text" name="pwd" /></div> <br /> <div>确认密码:<input type="text" name="pwd1" /></div> <br /> <div>姓名:<input type="text" name="name" /></div> <br /> <div>邮箱:<input type="text" name="email" /></div> <br /> <div>年龄:<input type="text" name="age" /></div> <br /> <div><input type="submit" value="添加" /></div> </form> </body> </html> |
ajax:(不需要建Model模型)
1.建一个控制器,做表单操作(包含验证)
<?php namespace Admin\Controller; use Think\Controller; class ZhuCeController extends Controller { public function add(){ $this->show(); } public function addchuli(){ $y = D("yonghubiao"); $arr = array( array(‘uid‘,‘require‘,‘用户名不能为空!!‘),//ps: require 意思是字段必须,就是不能为空 array(‘pwd‘,‘require‘,‘两次密码不一致!‘), array(‘name‘,‘require‘,‘没有填写名称!!‘), array(‘email‘,‘email‘,‘邮箱格式不正确!!‘), array(‘age‘,‘/^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}([0-9]|X)$/‘,‘身份证不合法‘,0,‘regex‘), ); if($y->validate($arr)->create()){ $y->add(); $this->ajaxReturn("注册成功","eval"); }else{ $this->ajaxReturn($y->getError(),"eval"); } } } |
2.对应控制器方法的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" /> <script src="__PUBLIC__/js/jquery-1.11.2.min.js"></script> <title>用户注册</title> </head> <body> <br /> <br /> <br /> <div>用户名:<input type="text" id="uid" /></div> <br /> <div> 密码:<input type="text" id="pwd" /></div> <br /> <div> 名称:<input type="text" id="name" /></div> <br /> <div> 邮箱:<input type="text" id="email" /></div> <br /> <div>身份证号:<input type="text" id="age" /></div> <br /> <div><input type="button" id="dtn" value="提交" /></div> </body> <script type="text/Javascript"> $("#dtn").click(function(){ var uid = $("#uid").val(); var pwd = $("#pwd").val(); var name = $("#name").val(); var email = $("#email").val(); var age = $("#age").val(); $.ajax({ url:"__CONTROLLER__/addchuli", data:{uid:uid,pwd:pwd,name:name,email:email,age:age}, dataType:"TEXT", type:"POST", success: function(data){ alert(data); } }); }); </script> </html> |