我的一个表中有一个名为created
的字段,它是datetime
数据类型。我有一个视图设置来添加新的条目,如下所示:
<h1>Compose post</h1>
<?php echo $this->Form->create('Post'); ?>
<?php echo $this->Form->input('title'); ?>
<?php echo $this->Form->input('body'); ?>
<?php echo $this->Form->input('created'); ?>
<?php echo $this->Form->input('slug'); ?>
<?php echo $this->Form->end('Publish'); ?>
created
字段看起来像这样:http://i.imgur.com/STnda.png
现在,我确保如何为此编写验证规则。我尝试使用CakePHP的datetime
验证规则,如下所示:
'created' => array(
'format' => array(
'rule' => array('datetime', 'Mdy'),
'message' => 'A valid date and time in Mdy format'
)
)
但它不起作用。 CakePHP documentation在这个问题上也有点混乱。
那么,我该如何正确验证日期时间字段?
答案 0 :(得分:0)
通常,'created'字段只是一个添加到表中的字段,然后由CakePHP自动生成。 (同样适用于'修改'字段 - 两者都是DATETIME)
如果这就是你想要的,只需删除它的字段并允许Cake执行它。无需验证。
如果你确实想要验证这样的日期,我相信你必须先把它组合成一个字符串而不是一个数组(在保存之前很容易用PHP做),这就是那些表单字段将提交。
答案 1 :(得分:0)
它对我有用的方式就像这样
'created' => array(
'rule' => array('datetime'),
'required' => true,
'message' => 'Enter Valid creation date'
)