1function DsDateTimeValidator(options) { 2 3 this.options = options; 4 this.DateClass = new Date(); 5 6}; 7 8DsDateTimeValidator.prototype = { 9 10 validatorAddMethod : function () { 11 12 var DDTVClass = this; 13 14 $.validator.addMethod("dsdatetime", function(value, element, param) { 15 16 var ok_flg = true; 17 18 var ds_datetime_rules = $.validator.defaults.ds_datetime_rules; 19 var rule = ds_datetime_rules[param]; 20 21 var $dt_valid = $(element); 22 23 var value = $dt_valid.val(); 24 25 var dary = DDTVClass.stringToArray(value); 26 27 switch(param) { 28 29 case "Y-m-d H:i" : 30 31 // å¿ é 32 if($dt_valid.hasClass("required")) { 33 34 if((dary.Y.length < 1) || (dary.m.length < 1) || (dary.d.length < 1) || (dary.H.length < 1) || (dary.i.length < 1)) { 35 36 ok_flg = false; 37 38 $.validator.messages["dsdatetime"] = rule["msg"]; 39 40 } 41 42 } 43 44 if(((dary.Y.length > 0) || (dary.m.length > 0) || (dary.d.length > 0)) && ok_flg) { 45 46 if(DDTVClass.checkDate(dary.Y, dary.m, dary.d) !== true) { 47 48 ok_flg = false; 49 50 $.validator.messages["dsdatetime"] = rule["msg2"]; 51 52 } 53 54 } 55 56 break; 57 58 case "Y-m-d" : 59 60 // å¿ é 61 if($dt_valid.hasClass("required")) { 62 63 if((dary.Y.length < 1) || (dary.m.length < 1) || (dary.d.length < 1)) { 64 65 ok_flg = false; 66 67 $.validator.messages["dsdatetime"] = rule["msg"]; 68 69 } 70 71 } 72 73 if(((dary.Y.length > 0) || (dary.m.length > 0) || (dary.d.length > 0)) && ok_flg) { 74 75 if(DDTVClass.checkDate(dary.Y, dary.m, dary.d) !== true) { 76 77 ok_flg = false; 78 79 $.validator.messages["dsdatetime"] = rule["msg2"]; 80 81 } 82 83 } 84 85 break; 86 87 case "Y-m" : 88 89 // å¿ é 90 if($dt_valid.hasClass("required")) { 91 92 if((dary.Y.length < 1) || (dary.m.length < 1)) { 93 94 ok_flg = false; 95 96 $.validator.messages["dsdatetime"] = rule["msg"]; 97 98 } 99 100 } 101 102 if(((dary.Y.length > 0) || (dary.m.length > 0)) && ok_flg) { 103 104 if(DDTVClass.checkDate(dary.Y, dary.m, "1") !== true) { 105 106 ok_flg = false; 107 108 $.validator.messages["dsdatetime"] = rule["msg2"]; 109 110 } 111 112 } 113 114 break; 115 116 case "m-d" : 117 118 // å¿ é 119 if($dt_valid.hasClass("required")) { 120 121 if((dary.m.length < 1) || (dary.d.length < 1)) { 122 123 ok_flg = false; 124 125 $.validator.messages["dsdatetime"] = rule["msg"]; 126 127 } 128 129 } 130 131 if(((dary.m.length > 0) || (dary.d.length > 0)) && ok_flg) { 132 133 if(DDTVClass.checkDate("1970", dary.m, dary.d) !== true) { 134 135 ok_flg = false; 136 137 $.validator.messages["dsdatetime"] = rule["msg2"]; 138 139 } 140 141 } 142 143 break; 144 145 case "H:i" : 146 147 // å¿ é 148 if($dt_valid.hasClass("required")) { 149 150 if((dary.H.length < 1) || (dary.i.length < 1)) { 151 152 ok_flg = false; 153 154 $.validator.messages["dsdatetime"] = rule["msg"]; 155 156 } 157 158 } 159 160 if(((dary.H.length > 0) || (dary.i.length > 0)) && ok_flg) { 161 162 if(((dary.H.length > 0) && (dary.i.length > 0)) === false) { 163 164 ok_flg = false; 165 166 $.validator.messages["dsdatetime"] = rule["msg2"]; 167 168 } 169 170 } 171 172 break; 173 174 } 175 176 return this.optional(element) || ok_flg; 177 178 }, "error..."); 179 180 }, 181 182 htmlToString : function ($select) { 183 184 var $closest = $select.closest("." + $.validator.defaults.ds_closest_class); 185 var $dt_valid = $closest.find(".ds-datetime-valid").eq(0); 186 187 var ret = ""; 188 189 var $Y = $closest.find(".Y").eq(0); 190 var $m = $closest.find(".m").eq(0); 191 var $d = $closest.find(".d").eq(0); 192 var $H = $closest.find(".H").eq(0); 193 var $i = $closest.find(".i").eq(0); 194 195 var Y = ($Y.length > 0) ? $Y.val() : ""; 196 var m = ($m.length > 0) ? $m.val() : ""; 197 var d = ($d.length > 0) ? $d.val() : ""; 198 var H = ($H.length > 0) ? $H.val() : ""; 199 var i = ($i.length > 0) ? $i.val() : ""; 200 201 ret = Y + "-" + m + "-" + d + " " + H + ":" + i; 202 203 return ret; 204 205 }, 206 207 stringToArray : function (string) { 208 209 var ret = { 210 211 Y : "", 212 m : "", 213 d : "", 214 H : "", 215 i : "" 216 217 }; 218 219 var ary = string.split(" "); 220 221 var date = (typeof ary[0] !== "undefined") ? ary[0] : ""; 222 var time = (typeof ary[1] !== "undefined") ? ary[1] : ""; 223 224 var tmp = date.split("-"); 225 226 ret["Y"] = (typeof tmp[0] !== "undefined") ? tmp[0] : ""; 227 ret["m"] = (typeof tmp[1] !== "undefined") ? tmp[1] : ""; 228 ret["d"] = (typeof tmp[2] !== "undefined") ? tmp[2] : ""; 229 230 var tmp = time.split(":"); 231 232 ret["H"] = (typeof tmp[0] !== "undefined") ? tmp[0] : ""; 233 ret["i"] = (typeof tmp[1] !== "undefined") ? tmp[1] : ""; 234 235 return ret; 236 237 }, 238 239 checkDate : function (y, m, d) { 240 241 if((y.length > 0) && (m.length > 0) && (d.length > 0)) { 242 243 y = parseInt(y, 10); 244 m = parseInt(m, 10); 245 d = parseInt(d, 10); 246 247 var dt = this.DateClass; 248 249 dt.setFullYear(y, (m - 1), d); 250 251 return ((dt.getFullYear() == y) && (dt.getMonth() == (m-1)) && (dt.getDate() == d)); 252 253 } else { 254 255 return false;
256 257 } 258 259 260 } 261 262};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.