2013-12-09 63 views
0

在我的CodeIgniter模型中,其中一個字段是用於設置屬性租約範圍的leasestart和leaseend。我目前有類似於下面的東西。什麼是在日期時間設置規則的語法?或者就此事約會。將日期時間規則添加到codeigniter中的模型

public $rules = array(
    'unitnum' => array(
    'field' => 'unitnum', 
    'label' => 'UnitNum', 
    'rules' => 'trim|required|numeric|xss_clean' 
), 
    'rent' => array(
    'field' => 'rent', 
    'label' => 'Rent', 
    'rules' => 'trim|required|numeric|greater_than[0]|xss_clean' 
), 
    'leasestart' => array(
    'field' => 'leasestart', 
    'label' => 'LeaseStart', 
    'rules' => 'trim|required|????|xss_clean' 
), 
    'leaseend' => array(
    'field' => 'leaseend', 
    'label' => 'LeaseEnd', 
    'rules' => 'trim|required|????|xss_clean' 
), 

); 
+0

要檢查開始日期不大於結束日期和結束日期不等於和低於較輕開始日期是我的正確與否 – umefarooq

回答

0

不幸的是,沒有關於codeigniter的日期時間規則。你將不得不使用回調。

編輯:另外你也只需要指定在租賃結束或租賃開始的回調,因爲它檢查兩個值的方式。

public $rules = array(
'unitnum' => array(
    'field' => 'unitnum', 
    'label' => 'UnitNum', 
    'rules' => 'trim|required|numeric|xss_clean' 
), 
    'rent' => array(
    'field' => 'rent', 
    'label' => 'Rent', 
    'rules' => 'trim|required|numeric|greater_than[0]|xss_clean' 
), 
    'leasestart' => array(
    'field' => 'leasestart', 
    'label' => 'LeaseStart', 
    'rules' => 'trim|required|callback__check_lease|xss_clean' 
), 
    'leaseend' => array(
    'field' => 'leaseend', 
    'label' => 'LeaseEnd', 
    'rules' => 'trim|required|xss_clean' 
), 

); 

你的函數可以是這樣的,但在你的日期格式的頭腦,所以你可以使用strtotime()

function _check_lease($lease_start){ 
    $lease_start = strtotime($lease_start); 
    $lease_end = strtotime($this->input->post('leasestart')); 

    if($lease_start > $lease_end){ 
     $this->form_validation->set_message('_check_lease', 'Invalid range, lease time cannot be greater than lease end.'); 
     return false; 
    } 
    return true; 
} 
+0

我有存儲在模型'unit_m'我所有的規則。回撥也會存儲在那裏嗎?或者它會在調用'form_validation'的控制器'unit'中? – mhopkins321

+0

它將存儲在控制器中,您可以調用表單驗證。函數前面的下劃線(如_check_lease)意味着它不能像URL之類的常規控制器函數那樣被訪問,如check_lease。例如, www.example.com/_check_lease - 無法使用。 www.example.com/check_lease - 將工作 –

相關問題