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; }
}
|