一个关于rules中datetime日期时间检验规则的问题?

return array(

            array('tstime, tetime', 'required'),

		array('eid, ttel','length','max'=>30),


		array('tcallid','length','max'=>100),

            array('tstime, tetime', 'type', 'type'=>'datetime'),

		array('taid, tresult', 'numerical', 'integerOnly'=>true),


	);

我现在想检验这个tstime,tetime两个字段为mysql中的日期时间型格式,该如何检验?

CTypeValidate中默认格式为mm/dd/yy。可是即便是这样,我填写一般字符串后,检验规则叶没有触发错误,就直接保存到数据库中了。

应该没问题啊,我测试过的。你的输入是什么?

如果需要更改日期格式,你可以设置datetimeFormat选项。

无论输什么比如:88888或者11rr,检验规则都不触发错误。如果写datetimeFormate怎么写呀,我写成array('tstime', 'type', 'type'=>'datetime', 'datetimeFormate'=>'yyyy-MM-dd hh:mm:ss')时,表单视图都不会渲染,报没有datetimeformate这个属性错误。

无法重现你的问题。你可以试试添加如下规则到blog demo里的Post.php文件:

		array('title', 'type', 'type'=>'datetime'),

应该是datetimeFormat,而不是datetimeFormate

我在yiic创建的webapp中的contact模型中使用的

public function rules()

{


	return array(


		array('email, subject, body', 'required'),


		array('email', 'email'),

                                      array('name', 'type', 'type'=>'datetime'),

		array('verifyCode', 'captcha', 'allowEmpty'=>!extension_loaded('gd')),


	);


}来测试,仍然没有效果;

array('tstime', 'type', 'type'=>'date'),有效果,而array('tstime', 'type', 'type'=>'datetime')便没有效果;datetime虽然在1.0.5之后变可用,但我用的是1.0.6这是框架固有的问题吗?

:'(原来是我的版本的问题,找了半天,汗,我用的是1.0.4。晕死。谢谢qiang