ThinkPHP表单自动提交验证实例教程

时间:2025-11-01 18:27:25 php语言 我要投稿

ThinkPHP表单自动提交验证实例教程

  文章主要介绍了ThinkPHP表单自动提交验证实例教程,非常有实用价值,需要的朋友可以参考下。

  本文以实例讲述了ThinkPHP表单自动提交验证的实现过程,详细步骤如下所示:

  一、模板部分:

  <!DOCTYPE HTML PUBLIC "-/pic/pic/pic/p>

  <HTML>

  <HEAD>

  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">

  <TITLE>ThinkPHP示例:表单提交、自动验证和自动填充</TITLE>

  </HEAD>

  <BODY>

  <p class="main">

  <FORM METHOD=POST ACTION="__URL__/insert">

  <TABLE cellpadding=2 cellspacing=2>

  <TR>

  <TD width="12%">标题:</TD>

  <TD ><INPUT TYPE="text" NAME="title" style="height:23px" class="large bLeft"></TD>

  </TR>

  <TR>

  <TD >邮箱:</TD>

  <TD ><INPUT TYPE="text" NAME="email" style="height:23px" class="large bLeft"></TD>

  </TR>

  <TR>

  <TD>内容:</TD>

  <TD><TEXTAREA NAME="content" class="large bLeft" ROWS="8" COLS="25"></TEXTAREA></TD>

  </TR>

  <TR>

  <TD>验证码:</TD>

  <TD><INPUT TYPE="text" NAME="verify" style="height:23px" class="small" > <img src="__URL__/verify" align="absmiddle" /> 输入对应的数字</TD>

  </TR>

  <TR>

  <TD></TD>

  <TD><INPUT TYPE="submit" class="button" value="提 交"> <INPUT TYPE="reset" class="button" value="清 空"></TD>

  </TR>

  <TR>

  <TD></TD>

  <TD ><HR></TD>

  </TR>

  <volist name="list" id="vo">

  <TR>

  <TD></TD>

  <TD style="border-bottom:1px dotted silver">{$vo.title} <span style="color:gray">[{$vo.email} {$vo.create_time|date='Y-m-d H:i:s',###}]</span></TD>

  </TR>

  <TR >

  <TD></TD>

  <TD ><p class="content">{$vo.content|nl2br}</p></TD>

  </TR>

  </volist>

  </TABLE>

  </FORM>

  </p>

  </BODY>

  </HTML>

  二、模型部分form类程序代码:

  <?php

  class FormModel extends Model {

  /pic/p>

  protected $_validate  =  array(/pic/p>

  array('title','require','标题必须!',1),

  array('email','email','邮箱格式错误!',2),

  array('content','require','内容必须'),

  array('verify','require','验证码必须!'),

  array('verify','CheckVerify','验证码错误',0,'callback'),/pic/p>

  /pic/p>

  array('title','','标题已经存在',0,'unique','add'),/pic/p>

  );

  /*think的验证机制,省去了不少麻烦非空:equire 邮箱:email 验证码正确:CheckVerify

  array()数组内容array(验证字段,验证规则,错误提示,验证条件,附加规则,验证时间)

  验证条件

  EXISTS_TO_VAILIDATE 或者 0 存在字段就验证 (默认)

  MUST_TO_VALIDATE 或者1 必须验证

  VALUE_TO_VAILIDATE 或者 2 值不为空的时候验证

  附加规则 配合验证规则使用,包括:

  function 使用函数验证,前面定义的验证规则是一个函数名

  callback 使用方法验证,前面定义的验证规则是一个当前 Model 类的方法

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

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

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

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

  regex 使用正则进行验证,表示前面定义的验证规则是一个正则表达式(默认)

  */

  /pic/p>

  /pic/p>

  protected $_auto  =  array(/pic/p>

  array('status','1','ADD'),

  array('create_time','time','ADD','function'),/pic/p>

  );

  /*

  数组因子:

  array(填充字段,填充内容,填充条件,附加规则)

  填充条件包括:

  ADD 新增数据的时候处理(默认方式)

  Update 更新数据的时候处理

  ALL 所有情况下都进行处理

  附加规则包括:

  function 使用函数

  callback 回调方法

  field 用其它字段填充

  string 字符串(默认方式)

  */

  public function CheckVerify() {

  return md5($_POST['verify']) == $_SESSION['verify'];

  }

  }

  ?>

  三、控制器部分indexaction类程序代码:

  <?php

  class IndexAction extends Action{

  /pic/p>

  public function index(){

  $Form = D("Form");/pic/p>

  $list = $Form->top6('','*','id desc');/pic/p>

  $this->assign('list',$list);/pic/p>

  $this->display();

  }

  /pic/p>

  public function insert() {/pic/insert"

  $Form = D("Form");

  if($Form->create()) {/pic/p>

  $Form->add();/pic/p>

  $this->redirect();/pic/p>

  }else{

  header("Content-Type:text/html; charset=utf-8");

  exit($Form->getError().' [ <A href="javascript:history.back()" rel="external nofollow" >返 回</A> ]');

  }

  }

  /pic/p>

  /pic/p>

  public function verify() {

  import("ORG.Util.Image");

  Image::buildImageVerify(); /pic/p>

  }

  }

  ?>

【ThinkPHP表单自动提交验证实例教程】相关文章:

ThinkPHP中create()方法自动验证表单信息01-26

ThinkPHP中自动验证11-05

使用php自动提交表单的方法12-05

如何实现php登陆表单提交CSRF及验证码10-07

php中tp验证表单与自动填充函数代码11-10

PHP 表单验证方法12-05

常用表单验证的js方法02-03

如何让php提交form表单12-07

PHP提交from表单的方法10-21

  • 相关推荐