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。可是即便是这样,我填写一般字符串后,检验规则叶没有触发错误,就直接保存到数据库中了。
qiang
(Qiang Xue)
2
应该没问题啊,我测试过的。你的输入是什么?
如果需要更改日期格式,你可以设置datetimeFormat选项。
无论输什么比如:88888或者11rr,检验规则都不触发错误。如果写datetimeFormate怎么写呀,我写成array('tstime', 'type', 'type'=>'datetime', 'datetimeFormate'=>'yyyy-MM-dd hh:mm:ss')时,表单视图都不会渲染,报没有datetimeformate这个属性错误。
qiang
(Qiang Xue)
4
无法重现你的问题。你可以试试添加如下规则到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