第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

日期驗(yàn)證 Codeigniter

日期驗(yàn)證 Codeigniter

PHP
侃侃無極 2022-12-03 18:26:23
我正在為我的控制器中的帖子創(chuàng)建驗(yàn)證。我對日期有疑問。我在應(yīng)用程序/庫中創(chuàng)建了一個(gè) MY_Form_validation.php 頁面,我在其中寫道:public function valid_date($date, $format = 'Y-m-d') {    $d = DateTime::createFromFormat($date, $format);    return $d && $d->format($format) === $date;}然后我創(chuàng)建了 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'),//...);它打印給我:'生日'=> '字符串'關(guān)于我的數(shù)據(jù)庫,一開始我的領(lǐng)域是數(shù)據(jù),我收到了這個(gè)錯(cuò)誤。比我更改為 Datetime 但錯(cuò)誤是一樣的。現(xiàn)在是:birthdate日期不為空,例如,現(xiàn)在我試圖發(fā)布一個(gè)像“1960-04-20”這樣的日期,但我收到了錯(cuò)誤消息:"birthdate": "字段 birthdate 不是有效日期"我只想在數(shù)據(jù)庫中寫入日期而不是時(shí)間,這可能是問題所在嗎??我該怎么做才能驗(yàn)證日期?
查看完整描述

1 回答

?
慕絲7291255

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; 

}


查看完整回答
反對 回復(fù) 2022-12-03
  • 1 回答
  • 0 關(guān)注
  • 101 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號