Ticket #554: 554-jForms-jforms_js.diff
| File 554-jForms-jforms_js.diff, 5.1 kB (added by Julien, 7 months ago) |
|---|
-
lib/jelix-www/js/jforms.js
old new 1 1 /** 2 * @package jelix 3 * @subpackage forms 4 * @author Laurent Jouanneau 5 * @contributor 6 * @copyright 2007-2008 Laurent Jouanneau 7 * @link http://www.jelix.org 8 * @licence GNU Lesser General Public Licence see LICENCE file or http://www.gnu.org/licenses/lgpl.html 2 * @package jelix 3 * @subpackage forms 4 * @author Laurent Jouanneau 5 * @contributor Julien Issler 6 * @copyright 2007-2008 Laurent Jouanneau 7 * @copyright 2008 Julien Issler 8 * @link http://www.jelix.org 9 * @licence GNU Lesser General Public Licence see LICENCE file or http://www.gnu.org/licenses/lgpl.html 9 10 */ 10 11 11 12 /* … … 93 94 ok = (val.search(/^0x[a-f0-9A-F]+$/) != -1); 94 95 break; 95 96 case 'datetime' : 96 var t = val.match(/^(\d{4})\-(\d{2})\-(\d{2}) (\d{2}):(\d{2}) :(\d{2})$/);97 var t = val.match(/^(\d{4})\-(\d{2})\-(\d{2}) (\d{2}):(\d{2})(:(\d{2}))?$/); 97 98 if(t == null){ ok=false; break; }; 98 99 var yy = parseInt(t[1],10); 99 100 var mm = parseInt(t[2],10) -1; 100 101 var dd = parseInt(t[3],10); 101 102 var th = parseInt(t[4],10); 102 103 var tm = parseInt(t[5],10); 103 var ts = parseInt(t[6],10); 104 var dt = new Date(yy,mm,dd,th,tn,ts); 104 var ts = 0; 105 if(t[7] != null) 106 ts = parseInt(t[7],10); 107 var dt = new Date(yy,mm,dd,th,tm,ts); 105 108 if(yy != dt.getFullYear() || mm != dt.getMonth() || dd != dt.getDate() || th != dt.getHours() || tm != dt.getMinutes() || ts != dt.getSeconds()) 106 109 ok = false; 107 110 else … … 121 124 break; 122 125 case 'localetime' : 123 126 case 'time' : 124 var t = val.match(/^(\d{2}):(\d{2}) :(\d{2})$/);127 var t = val.match(/^(\d{2}):(\d{2})(:(\d{2}))?$/); 125 128 if(t == null){ ok=false; break; }; 126 var th = parseInt(t[4],10); 127 var tm = parseInt(t[5],10); 128 var ts = parseInt(t[6],10); 129 var dt = new Date(2007,05,02,th,tn,ts); 129 var th = parseInt(t[1],10); 130 var tm = parseInt(t[2],10); 131 var ts = 0; 132 if(t[4] != null) 133 ts = parseInt(t[4],10); 134 var dt = new Date(2007,05,02,th,tm,ts); 130 135 if(th != dt.getHours() || tm != dt.getMinutes() || ts != dt.getSeconds()) 131 136 ok = false; 132 137 else … … 135 140 case 'localedatetime' : 136 141 var yy, mm, dd, th, tm, ts; 137 142 if(c.lang.indexOf('fr_') == 0) { 138 var t = val.match(/^(\d{2})\/(\d{2})\/(\d{4}) (\d{2}):(\d{2}) :(\d{2})$/);143 var t = val.match(/^(\d{2})\/(\d{2})\/(\d{4}) (\d{2}):(\d{2})(:(\d{2}))?$/); 139 144 if(t == null){ ok=false; break; } 140 145 yy = parseInt(t[3],10); 141 146 mm = parseInt(t[2],10) -1; 142 147 dd = parseInt(t[1],10); 143 148 th = parseInt(t[4],10); 144 149 tm = parseInt(t[5],10); 145 ts = parseInt(t[6],10); 150 ts = 0; 151 if(t[7] != null) 152 ts = parseInt(t[7],10); 146 153 }else{ 147 154 //default is en_* format 148 var t = val.match(/^(\d{2})\/(\d{2})\/(\d{4}) (\d{2}):(\d{2}) :(\d{2})$/);155 var t = val.match(/^(\d{2})\/(\d{2})\/(\d{4}) (\d{2}):(\d{2})(:(\d{2}))?$/); 149 156 if(t == null){ ok=false; break; } 150 157 yy = parseInt(t[3],10); 151 158 mm = parseInt(t[1],10) -1; 152 159 dd = parseInt(t[2],10); 153 160 th = parseInt(t[4],10); 154 161 tm = parseInt(t[5],10); 155 ts = parseInt(t[6],10); 162 ts = 0; 163 if(t[7] != null) 164 ts = parseInt(t[7],10); 156 165 } 157 var dt = new Date(yy,mm,dd,th,t n,ts);166 var dt = new Date(yy,mm,dd,th,tm,ts); 158 167 if(yy != dt.getFullYear() || mm != dt.getMonth() || dd != dt.getDate() || th != dt.getHours() || tm != dt.getMinutes() || ts != dt.getSeconds()) 159 168 ok = false; 160 169 else
