1 回答

TA貢獻(xiàn)1859條經(jīng)驗(yàn) 獲得超6個(gè)贊
用下一個(gè)替換你的函數(shù):
public function valid_date($date, $format = 'Y-m-d') {
$d = new DateTime($date);
return $d && $d->format($format) === $date;
}
演示
或者與下一個(gè):
public function valid_date($date, $format = 'Y-m-d') {
$d = DateTime::createFromFormat($format,$date); // <-- replace arguments
return $d && $d->format($format) === $date;
}
演示
DateTime::createFromFormat() 文檔
您需要在成功驗(yàn)證后將此字符串轉(zhuǎn)換為 DATE 數(shù)據(jù)類型,然后才將其發(fā)送到數(shù)據(jù)庫中?;蛘吣憧梢詫?quot;to_date($stringvar,$format)"在你的 SQL 查詢中。
似乎 CodeIgniter 不喜歡驗(yàn)證選項(xiàng)中的默認(rèn)變量。我的意思是,你不能聲明$format = 'Y-m-d'為參數(shù)。所以,如果你不使用它,它會(huì)起作用:
public function valid_date_dmY($str)
{
$d = DateTime::createFromFormat('d.m.Y',$str);
return $d && $d->format('d.m.Y') === $str;
}
- 1 回答
- 0 關(guān)注
- 101 瀏覽
添加回答
舉報(bào)