首钢建设二公司网站博客网站开发背景及作用
news/
2025/10/7 0:45:20/
文章来源:
首钢建设二公司网站,博客网站开发背景及作用,北京给公司做网站多少钱,软件上传网站之前的表单验证都是用js写的#xff0c;这里也可以使用tp框架的验证。但是两者比较而言还是js验证比较好#xff0c;因为tp框架验证会运行后台代码#xff0c;这样运行速度和效率就会下降。 自动验证是ThinkPHP模型层提供的一种数据验证方法#xff0c;可以在使用create创… 之前的表单验证都是用js写的这里也可以使用tp框架的验证。但是两者比较而言还是js验证比较好因为tp框架验证会运行后台代码这样运行速度和效率就会下降。 自动验证是ThinkPHP模型层提供的一种数据验证方法可以在使用create创建数据对象的时候自动进行数据验证。验证的代码要写在模型层即Model里面。 数据验证有两种方式 静态方式在模型类里面通过$_validate属性定义验证规则。静态方式定义好以后其它地方都可以使用。动态方式使用模型类的validate方法动态创建自动验证规则。动态方式比较灵活哪里使用就写其它地方不可以使用。无论是什么方式验证规则的定义是统一的规则定义格式为 ?php namespace Home\Controller;use Think\Controller;class TestController extends Controller{ public function add() { if(empty($_POST)) { $this-show(); } else { $ynew \Home\Model\YongHuuModel(); $r$y-create(); if($r) { $y-add(); } else{ die($y-getError()); } } } } 2.在thinkphp\Application\Home\View\Test写上对应的html文件 !DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.0 Transitional//EN http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtdhtml xmlnshttp://www.w3.org/1999/xhtmlheadmeta http-equivContent-Type contenttext/html; charsetutf-8 /title无标题文档/title/headstyle typetext/css*{ font-family:微软雅黑; padding:0px; margin:0px auto}/stylebodyform action__ACTION__ methodpostdiv用户名:input typetext nameuid //divdiv密码:input typetext namepwd //divdiv确认密码:input typetext namepwd1 //divdiv姓名:input typetext namename //divdiv邮箱:input typetext nameemail //divdiv年龄:input typetext nameage //divdivinput typesubmit value提交 //div/form/div /body/html 3.在thinkphp\Application\Home\Model里面写模型文件也就是验证的方法。 ?phpnamespace Home\Model;use Think\Model;class YongHuuModel extends Model{ protected $tablePrefix ; protected $trueTableName yonghu; //自己的真实表名 //protected $patchValidate true; protected $_validate array( array(uid,require,用户名不能为空), //验证非空 array(pwd,pwd1,两次输入的密码不一致,0,confirm), //两个字段是否相同 array(email,email,邮箱格式不正确), //验证邮箱格式 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), );} 二、动态验证 1.在Application\Home\Controller里面写方法 ?php
namespace Home\Controller;
use Think\Controller;
class TestController extends Controller
{public function add(){if(empty($_POST))//如果post数组为空{$this-show();//显示add.html页面}else//如果post数组不为空{$y D(YongHu);$arr array(//动态验证就是需要在哪验证就在哪里写验证方法。array(uid,require,用户名不能为空,0),//讲验证的方法写在方法里面);if($y-validate($arr)-create())//这里要先调用validate方法然后将写的验证方法放到validate里面{$y-add();}else{die($y-getError());调出错误信息}}}
} 2.在thinkphp\Application\Home\View\Test写上对应的html文件 !DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.0 Transitional//EN http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd
html xmlnshttp://www.w3.org/1999/xhtml
head
meta http-equivContent-Type contenttext/html; charsetutf-8 /
title无标题文档/title
style typetext/css/style
/headbodyform action__ACTION__ methodpostdiv用户名input typetext nameuid //divdiv密码input typetext namepwd //divdiv确认密码input typetext namepwd1 //divdiv姓名input typetext namename //divdiv邮箱input typetext nameemail //divdiv年龄input typetext nameage //divdivinput typesubmit value提交 //div/form
/body
script typetext/javascript/script
/html 3.在thinkphp\Application\Home\Model里面写模型文件。 ?php
namespace Home\Model;
use Think\Model;
class YongHuModel extends Model
{protected $tablePrefix ;//表示表格前缀为空就是没有前缀。protected $trueTableName yonghu;//如果不写这句话会自动去找Yong_Hu这张表这是默认的表格的命名。这里要写上实际的表格的名字。
} 三、Ajax做验证 tp动态验证和静态验证都有一个很大的缺点那就是在提示错误信息的时候都要跳转到其它页面显示出错误信息。如果需要在当前页面显示出错误信息就需要用ajax做验证。 1.写显示和ajax处理方法 ?php
namespace Home\Controller;
use Think\Controller;
class TestController extends Controller
{public function tianjia()//添加方法用来显示页面{$this-show();}public function test()//ajax处理方法{$y D(YongHu);$arr array(//动态验证就是需要在哪验证就在哪里写验证方法。array(uid,require,用户名不能为空),//讲验证的方法写在方法里面);if($y-validate($arr)-create())//这里要先调用validate方法然后将写的验证方法放到validate里面{$this-ajaxReturn(通过验证,eval); ajax调用后返回字符串要用 eval}else{$this-ajaxReturn($y-getError(),eval);}}
} 2.写显示页面 !DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.0 Transitional//EN http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd
html xmlnshttp://www.w3.org/1999/xhtml
head
meta http-equivContent-Type contenttext/html; charsetutf-8 /
script src__PUBLIC__/js/jquery-1.11.2.min.js/script
title无标题文档/title
style typetext/css/style
/headbodydiv用户名input iduid typetext nameuid //divdivinput idbtn typebutton value验证 //div
/body
script typetext/javascript$(#btn).click(function(){ 这是用的点击事件有时会用鼠标失去焦距var uid $(#uid).val();$.ajax({url:__CONTROLLER__/test, 处理页面data:{uid:uid},type:POST,dataType:TEXT,success: function(data){alert(data); 上个页面返回的字符串} })})
/script/html 转载于:https://www.cnblogs.com/cyd123/p/7145710.html
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/929860.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!