0

私のテーブルの 1 つに、データ型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

Normally the 'created' field is just a field that's added to the table, then automatically generated by CakePHP. (same goes for the 'modified' field - both are DATETIME)

If that's what you want, just remove it's field and allow Cake to do it's thing. No need for validation.

If you do want to validate a date like that though, I believe you have to first combine it into a single string instead of an array (easy enough to do with PHP just before the save), which is what those form fields will submit.

于 2013-01-05T01:17:36.673 に答える