使用FormHelper验证验证datetime字段

时间:2013-01-04 23:31:30

标签: php cakephp

我的一个表中有一个名为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在这个问题上也有点混乱。

那么,我该如何正确验证日期时间字段?

2 个答案:

答案 0 :(得分:0)

通常,'created'字段只是一个添加到表中的字段,然后由CakePHP自动生成。 (同样适用于'修改'字段 - 两者都是DATETIME)

如果这就是你想要的,只需删除它的字段并允许Cake执行它。无需验证。

如果你确实想要验证这样的日期,我相信你必须先把它组合成一个字符串而不是一个数组(在保存之前很容易用PHP做),这就是那些表单字段将提交。

答案 1 :(得分:0)

它对我有用的方式就像这样

'created' => array(
        'rule' => array('datetime'), 
        'required' => true,
        'message' => 'Enter Valid creation date'
)