请帮忙测试最新的widget: CActiveForm

http://www.yiiframework.com/forum/index.php?/topic/6665-help-test-the-new-widget-cactiveform/

CActiveForm可以帮你轻松实现基于javascript的客户端模型验证。其实真正的验证还是在服务器端做的(通过AJAX触发),这样前后端的验证可以保持一致。

我看了一下文档,貌似不支持验证码?是吗?

我觉得这个挺重要的,强哥能不能想办法加进去呢?

这个真不错,我原来就希望能统一前后台的验证模型

也不能说不支持验证码,主要原因是每次验证验证码输入,服务器端都会记录验证次数,如果次数超过限制,验证就会失败,这时需要重新加载新的图像。

一种解决办法是增强CCaptcha,让它自己提供客户端验证,比如通过比较校验码。

稍微测试了一下。似乎每次验证都是出发yiiactiveform()函数。

像qiang说的“其实真正的验证还是在服务器端做的(通过AJAX触发)“

不知道qiang看过jformvalidate吗

我现在做校验是用这个扩展,它是居于jQuery validation.首先是根据model的校验规则自动生成js的校验规则 :D 。同样也可以生成一些基于ajax的验证。这样可以减少服务端的校验。

是不是可以吸取这里的一些经验呢。 8)




//服务器验证

array('username', 'checkUsername', 'on'=>'reg'),

		    //ajax验证

			array('username', 'application.extensions.jformvalidate.ECustomJsValidator' ,'on' => 'reg',

				'rules'    => array(

					'remote' => Yii::app()->createUrl('/site/checkUsername'),

				),

				'messages' => array(

					'remote' => '{attribute} already exist'

				)

			),



PS:不过这扩展是基于1.0.x的,对于yii1.1.x中model的Scenario需要稍微做修改。