/var/www/hkosl.com/demo_google/application/libraries/MY_Form_validation.php


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
<?php
defined
('BASEPATH') OR exit('No direct script access allowed');

use \
Illuminate\Database\Capsule\Manager as DB;

class 
MY_Form_validation extends CI_Form_validation
{
    
/**
     * MY_Form_validation constructor.
     * @param array $rules
     */
    
public function __construct($rules = array())
    {
        
parent::__construct($rules);
    }

    
/**
     * Validate datetime format
     *
     * @param $date
     * @return bool
     */
    
public function validate_datetime($date)
    {
        if(
$date) {
            
$format 'Y-m-d H:i:s';
            
$d DateTime::createFromFormat($format$date);
            if(!
$d || $d->format($format) <> $date){
                
$this->set_message(__FUNCTION__,'{field} '.__('is invalid format.'));
                return 
false;
            }
        }
        return 
true;
    }

    
/**
     * Validate date format
     *
     * @param $date
     * @return bool
     */
    
public function validate_date($date)
    {
        if(
$date) {
            
$format 'Y-m-d';
            
$d DateTime::createFromFormat($format$date);
            if(!
$d || $d->format($format) <> $date){
                
$this->set_message(__FUNCTION__,'{field} '.__('is invalid format.'));
                return 
false;
            }
        }
        return 
true;
    }

    
/**
     * Is Unique
     *
     * Check if the input value doesn't already exist
     * in the specified database field.
     *
     * @param    string    $str
     * @param    string    $field
     * @param    integer    $deleted
     * @return    bool
     */
    
public function is_unique($str$field$deleted 0)
    {
        
sscanf($field'%[^.].%[^.]'$table$field);
        return 
DB::table($table)->where($field,$str)->where('deleted',$deleted)->count() == 0;
//        return isset($this->CI->db)
//            ? ($this->CI->db->limit(1)->get_where($table, array($field => $str,'deleted'=>$deleted))->num_rows() === 0)
//            : FALSE;
    
}

}