yii ccaptcha php模块,CCaptchaValidator - Yii Framework v1.1.10 类参考中文手册

所有包

| 属性

| 方法

system.validators

继承

class CCaptchaValidator »

CValidator »

CComponent

源自

1.0

版本

$Id: CCaptchaValidator.php 3124 2011-03-25 15:48:05Z qiang.xue $

源码

framework/validators/CCaptchaValidator.php

CCaptchaValidator 用于验证属性值和验证码中显示的一致。

CCaptchaValidator 必须和CCaptchaAction一起使用。

公共属性

隐藏继承属性

属性

类型

描述

定义在

allowEmpty

boolean

属性值时候可以为null或者 empty。

默认是false,表示当值为是empty时,属性是无效的。

CCaptchaValidator

attributes

array

需要被验证的属性的列表。

CValidator

builtInValidators

array

内置验证器列表 (name=>class)

CValidator

caseSensitive

boolean

比较是否区分大小写。默认是false,表示不区分大小写。

CCaptchaValidator

enableClientValidation

boolean

是否执行客户端验证。默认值为true。

参见CActiveForm::enableClientValidation以了解更多关于客户端验证的细节。

CValidator

message

string

用户自定义的错误提示信息。不同的验证器可以在该信息中

定义各种占位符(将被实际值替换)。占位符“{attribute}”可以被所有

验证器识别,它会被使用属性的标签来替换。

CValidator

on

array

验证器将被应用到的情景模式的列表。

数组的键-值都是情景模式的名称。

CValidator

safe

boolean

进行整块赋值是是否考虑此验证器中列出的属性的安全性。

默认值为true。

CValidator

skipOnError

boolean

如果当前属性已经存在验证错误,这个验证规则

是否跳过。默认值是false。

CValidator

受保护属性

隐藏继承属性

属性

类型

描述

定义在

captchaAction

CCaptchaAction

返回验证码的action对象。

CCaptchaValidator

公共方法

隐藏继承方法

方法

描述

定义在

__call()

如果类中没有调的方法名,则调用这个方法。

CComponent

__get()

返回一个属性值、一个事件处理程序列表或一个行为名称。

CComponent

__isset()

检查一个属性是否为null。

CComponent

__set()

设置一个组件的属性值。

CComponent

__unset()

设置一个组件的属性为null。

CComponent

applyTo()

返回值指定此验证器是否应用到指定的情景模式。

CValidator

asa()

返回这个名字的行为对象。

CComponent

attachBehavior()

附加一个行为到组件。

CComponent

attachBehaviors()

附加一个行为列表到组件。

CComponent

attachEventHandler()

为事件附加一个事件处理程序。

CComponent

canGetProperty()

确定属性是否可读。

CComponent

canSetProperty()

确定属性是否可写。

CComponent

clientValidateAttribute()

返回用于客户端验证的JavaScript。

CCaptchaValidator

createValidator()

创建一个验证器对象。

CValidator

detachBehavior()

从组件中分离一个行为。

CComponent

detachBehaviors()

从组件中分离所有行为。

CComponent

detachEventHandler()

分离一个存在的事件处理程序。

CComponent

disableBehavior()

禁用一个附加行为。

CComponent

disableBehaviors()

禁用组件附加的所有行为。

CComponent

enableBehavior()

启用一个附加行为。

CComponent

enableBehaviors()

启用组件附加的所有行为。

CComponent

evaluateExpression()

计算一个PHP表达式,或根据组件上下文执行回调。

CComponent

getEventHandlers()

返回一个事件的附加处理程序列表。

CComponent

hasEvent()

确定一个事件是否定义。

CComponent

hasEventHandler()

检查事件是否有附加的处理程序。

CComponent

hasProperty()

确定属性是否被定义。

CComponent

raiseEvent()

发起一个事件。

CComponent

validate()

验证给定的对象。

CValidator

受保护方法

隐藏继承方法

方法

描述

定义在

addError()

添加关于指定属性的一个错误提示信息到活动记录中。

CValidator

getCaptchaAction()

返回验证码的action对象。

CCaptchaValidator

isEmpty()

检测给定值是否为空。

CValidator

validateAttribute()

验证需要被验证的对象的属性。

CCaptchaValidator

属性详细

allowEmpty

属性

public boolean $allowEmpty;

属性值时候可以为null或者 empty。

默认是false,表示当值为是empty时,属性是无效的。

captchaAction

属性

只读 (可用自 v1.1.7)

protected CCaptchaAction getCaptchaAction()

返回验证码的action对象。

caseSensitive

属性

public boolean $caseSensitive;

比较是否区分大小写。默认是false,表示不区分大小写。

方法详细

clientValidateAttribute()

方法

(可用自 v1.1.7)

public string clientValidateAttribute(CModel $object, string $attribute)

$object

CModel

被验证的数据。

$attribute

string

需要被验证的属性的名字。

{return}

string

客户端验证脚本。

源码: framework/validators/CCaptchaValidator.php#90 (显示)

publicfunctionclientValidateAttribute($object,$attribute)

{

$captcha=$this->getCaptchaAction();

$message=$this->message!==null?$this->message:Yii::t('yii','Theverificationcodeisincorrect.');

$message=strtr($message,array(

'{attribute}'=>$object->getAttributeLabel($attribute),

));

$code=$captcha->getVerifyCode(false);

$hash=$captcha->generateValidationHash($this->caseSensitive?$code:strtolower($code));

$js="

varhash=$('body').data('{$this->captchaAction}.hash');

if(hash==null)

hash=$hash;

else

hash=hash[".($this->caseSensitive?0:1)."];

for(vari=value.length-1,h=0;i>=0;--i)h+=value.".($this->caseSensitive?'':'toLowerCase().')."charCodeAt(i);

if(h!=hash){

messages.push(".CJSON::encode($message).");

}

";

if($this->allowEmpty)

{

$js="

if($.trim(value)!=''){

$js

}

";

}

return$js;

}

返回用于客户端验证的JavaScript。

参见

CActiveForm::enableClientValidation

getCaptchaAction()

方法

(可用自 v1.1.7)

protected CCaptchaAction getCaptchaAction()

{return}

CCaptchaAction

action对象

源码: framework/validators/CCaptchaValidator.php#63 (显示)

protectedfunctiongetCaptchaAction()

{

if(($captcha=Yii::app()->getController()->createAction($this->captchaAction))===null)

{

if(strpos($this->captchaAction,'/')!==false)//containscontrollerormodule

{

if(($ca=Yii::app()->createController($this->captchaAction))!==null)

{

list($controller,$actionID)=$ca;

$captcha=$controller->createAction($actionID);

}

}

if($captcha===null)

thrownewCException(Yii::t('yii','CCaptchaValidator.action"{id}"isinvalid.Unabletofindsuchanactioninthecurrentcontroller.',

array('{id}'=>$this->captchaAction)));

}

return$captcha;

}

返回验证码的action对象。

validateAttribute()

方法

protected void validateAttribute(CModel $object, string $attribute)

$object

CModel

需要被验证对象。

$attribute

string

需要被验证的属性

源码: framework/validators/CCaptchaValidator.php#45 (显示)

protectedfunctionvalidateAttribute($object,$attribute)

{

$value=$object->$attribute;

if($this->allowEmpty&&$this->isEmpty($value))

return;

$captcha=$this->getCaptchaAction();

if(!$captcha->validate($value,$this->caseSensitive))

{

$message=$this->message!==null?$this->message:Yii::t('yii','Theverificationcodeisincorrect.');

$this->addError($object,$attribute,$message);

}

}

验证需要被验证的对象的属性。

如果这里出现任何错误,那么这个错误信息将被添加到验证对象。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
智慧校园的建设目标是通过数据整合、全面共享,实现校园内教学、科研、管理、服务流程的数字化、信息化、智能化和多媒体化,以提高资源利用率和管理效率,确保校园安全。 智慧校园的建设思路包括构建统一支撑平台、建立完善管理体系、大数据辅助决策和建设校园智慧环境。通过云架构的数据中心与智慧的学习、办公环境,实现日常教学活动、资源建设情况、学业水平情况的全面统计和分析,为决策提供辅助。此外,智慧校园还涵盖了多媒体教学、智慧录播、电子图书馆、VR教室等多种教学模式,以及校园网络、智慧班牌、校园广播等教务管理功能,旨在提升教学品质和管理水平。 智慧校园的详细方案设计进一步细化了教学、教务、安防和运维等多个方面的应用。例如,在智慧教学领域,通过多媒体教学、智慧录播、电子图书馆等技术,实现教学资源的共享和教学模式的创新。在智慧教务方面,校园网络、考场监控、智慧班牌等系统为校园管理提供了便捷和高效。智慧安防系统包括视频监控、一键报警、阳光厨房等,确保校园安全。智慧运维则通过综合管理平台、设备管理、能效管理和资产管理,实现校园设施的智能化管理。 智慧校园的优势和价值体现在个性化互动的智慧教学、协同高效的校园管理、无处不在的校园学习、全面感知的校园环境和轻松便捷的校园生活等方面。通过智慧校园的建设,可以促进教育资源的均衡化,提高教育质量和管理效率,同时保障校园安全和提升师生的学习体验。 总之,智慧校园解决方案通过整合现代信息技术,如云计算、大数据、物联网和人工智能,为教育行业带来了革命性的变革。它不仅提高了教育的质量和效率,还为师生创造了一个更加安全、便捷和富有智慧的学习与生活环境。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值