php ajax 提交表单验证,ThinkPHP框架表单验证AJAX

验证有两种方式:静态验证与动态验证。

一、静态验证

在模型类里面预先定义好该模型的自动验证规则,我们称为静态定义。

验证时要在test表的Model里面加验证条件:新建testModel.class.php,在模型类里面定义了$_validate属性如下:

67d0865f17d9be527254bf8a8ff6c5b4.gif

namespace Home\Model;

use Think\Model;

class testModel extends Model

{

//静态验证

protected $_validate = array(

array('uid','require','用户名不能为空'),

array('pwd','require','密码不能为空'),

array('repwd','pwd','确认密码不正确',1,'confirm'),

array('age','18,50','年龄必须在18-50岁之间',1,'between'),

array('email','email','邮箱格式不正确'),

);

}

67d0865f17d9be527254bf8a8ff6c5b4.gif

定义好验证规则后,就可以在使用create方法创建数据对象的时候自动调用:

67d0865f17d9be527254bf8a8ff6c5b4.gif

namespace Home\Controller;

use Home\Controller\CheckController;

class ZhuCeController extends CheckController

{

function ZhuCe()

{

//静态验证,不能在后面直接显示,必须全部通过验证才能注册

$cw = "";

if(!empty($_GET))

{

$cw = $_GET["cw"];

}

if(empty($_POST))

{

$this->assign("error",$cw);

$this->display();

}

else

{

$model = new \Home\Model\testModel();

//$model = D("test"); //动态验证可以用D方法

if(!$model->create())

{

$e = $model->getError();

$url = "ZhuCe/cw/{$e}";

$this->error("注册失败!",$url,1);

}

else

{

$model->add();

}

67d0865f17d9be527254bf8a8ff6c5b4.gif

模板ZhuCe.html:

67d0865f17d9be527254bf8a8ff6c5b4.gif

用户名:
密码:
确认密码:
年龄:
邮箱:
姓名:

67d0865f17d9be527254bf8a8ff6c5b4.gif

请求ZhuCe方法:

18e7dcae6f84e468e2ef8ad7d5d691a2.png   

e3cd527e50bc871a2038c8e7ef8d980c.png

二、动态验证

如果采用动态验证的方式,就比较灵活,可以根据不同的需要,在操作同一个模型的时候使用不同的验证规则,例如上面的静态验证方式可以改为:

67d0865f17d9be527254bf8a8ff6c5b4.gif

namespace Home\Controller;

use Home\Controller\CheckController;

class ZhuCeController extends CheckController

{

function ZhuCe()

{

if(empty($_POST))

{

$this->display();

}

else

{

//$model = new \Home\Model\testModel();

$model = D("test"); //动态验证可以用D方法

//动态验证

$rules = array(

array('uid','require','用户名不能为空')

);

//调用validate()加入验证规则

$r = $model->validate($rules)->create();//若验证失败返回false,成功返回注册的test表数组信息

//var_dump($r);

if(!$r)

{

echo $model->getError(); //若验证失败则输出错误信息

}

else

{

$model->add();

}

}

}

67d0865f17d9be527254bf8a8ff6c5b4.gif

我们还可以在表单后面直接显示错误提示,这就要用到ajax。以验证用户名非空为例:

在模板ZhuCe.html中:

67d0865f17d9be527254bf8a8ff6c5b4.gif

用户名: 
密码:  
确认密码:
年龄:  
邮箱:  
姓名:  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值