Forms Cakephp向数据库输入日期

Forms Cakephp向数据库输入日期,forms,date,cakephp,input,Forms,Date,Cakephp,Input,我试图从用户处获取日期,但无法通过日期验证。我不确定我做错了什么 //model code public $validate = array( 'expiry' => array( 'rule' => array('date', 'ymd'), 'message' => 'Invalid date format' ) ); // controller public function add() { if ($this-&

我试图从用户处获取日期,但无法通过日期验证。我不确定我做错了什么

//model code
public $validate = array(
    'expiry' => array(
        'rule' => array('date', 'ymd'),
        'message' => 'Invalid date format'
    )
);

// controller
public function add() {
    if ($this->request->is('post')) {
        $this->Entry->create();

        if ($this->Entry->save($this->request->data)) {
            $this->Session->setFlash(__('Your contest entry has been saved.'));
            return $this->redirect(array('action' => 'index'));
        }
        $this->Session->setFlash(__('Unable to add your entry.'));
    }
}

// view code
echo $this->Form->input('expiry', array('type' => 'date', 'dateFormat' => 'YMD'));

有人能告诉我我遗漏了什么吗?

我让它工作起来了。我的解决方案主要是在我的模型中添加以下内容:

function beforeSave($options = array())
{
    // covert the expiry date string to a valid format for the database
    $this->data['Entry']['expiry'] = 
        date('Y-m-d H:i:s',
            strtotime(
                $this->data['Entry']['expiry']));
}

视图代码中的dateFormat是否应为所有大写格式?例如ymd date为today='20140814'您是否调试了提交的实际数据,以验证其是否为您所期望的格式?我不确定应该采用何种格式。如何知道要插入到数据库中的格式,以及哪个变量保存要插入到数据库中的内容?谢谢你的耐心。我是个新手CakePhp@Katelyn-您希望它采用什么格式并不重要-调试以找出提交的内容,然后确定您认为它是否应通过验证规则,如果您认为提交的数据应通过验证规则,请将其粘贴到您的问题中,以便我们进行处理。这就像其他事情是错误的,没有任何东西是提交给该领域。。。在我们知道这一点之前,没有什么可以帮助的。