PHP动态验证,ThinkPHP 自动验证之动态改变验证规则

动态验证 setProperty 方法

通常来说,每个数据表对应的验证规则是相对固定的,但是在某些特殊的情况下面可能会改变验证规则。ThinkPHP 的 Model类 提供了 setProperty 方法,可以在操作中使用 setProperty 方法动态改变验证规则来满足不同条件下的验证:

setProperty 方法用于设置模型的属性值,语法如下:

setProperty(string name, mixed value)

例子:

$Article = D("Article");

$validate = array(

array('title','require','标题不能为空!',1), // 仅需验证标题不能为空

);

$Article->setProperty("_validate",$validate);

if (!$Article->create()){

// 如果创建失败,表示验证没有通过(注:可能原因之一)输出错误提示信息

exit($Article->getError());

}else{

// 验证通过,继续下一步流程如将数据写入数据表

}

上面的例子在操作里动态改变了原有的验证规则,从而实现不同条件下的自动验证。

提示

在操作中动态改变验证规则后,新的规则将直接覆盖原有的验证规则。ThinkPHP 还没有支持动态改变规则时对原有规则的追加、增减或者替换等更加灵活的动态改变方式。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值