0

我的一张表有一个名为的字段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 文档在这个主题上也有些混乱。

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

4

2 回答 2

0

通常,“created”字段只是添加到表中的字段,然后由 CakePHP 自动生成。(“修改”字段也是如此 - 两者都是 DATETIME)

如果这就是你想要的,只需删除它的字段并让 Cake 做这件事。无需验证。

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

于 2013-01-05T01:17:36.673 回答
0

它对我有用的方式是这样的

'created' => array(
        'rule' => array('datetime'), 
        'required' => true,
        'message' => 'Enter Valid creation date'
)
于 2016-01-14T07:47:56.563 回答