我正在为我的控制器中的帖子创建验证。
我对日期有疑问。
我在应用程序/库中创建了一个 MY_Form_validation.php 页面,我在其中写道:
public function valid_date($date, $format = 'Y-m-d') {
$d = DateTime::createFromFormat($date, $format);
return $d && $d->format($format) === $date;
}
然后我创建了 form_validation_lang.php
<?php
$lang['form_validation_valid_date'] = 'The field {field} is not a valid date';
在我的控制器中,我有:
//load the libraries
$this->form_validation->set_rules('birthdate', irthdate', 'trim|required|valid_date');
if($this->form_validation->run() == FALSE){
$errors = $this->form_validation->error_array();
var_dump($errors);
$this->response($errors, 500);
return;
}
$person = array(
//..
'birthdate' => $this->post('birthdate'),
//...
);
它打印给我:
'生日'=> '字符串'
关于我的数据库,一开始我的领域是数据,我收到了这个错误。比我更改为 Datetime 但错误是一样的。
现在是:
birthdate
日期不为空,
例如,现在我试图发布一个像“1960-04-20”这样的日期,但我收到了错误消息:
"birthdate": "字段 birthdate 不是有效日期"
我只想在数据库中写入日期而不是时间,这可能是问题所在吗??我该怎么做才能验证日期?
慕丝7291255