Commit e44c10c794e303ed2fb6c49447d9a0594b386cdc

Authored by 游瑞烽
2 parents a640077d 34a67763

Merge branch 'minhang' of 192.168.168.201:panzhaov5/bsth_control into minhang

Showing 127 changed files with 5554 additions and 790 deletions
src/main/java/com/bsth/controller/realcontrol/ScheduleRealInfoController.java
1 -package com.bsth.controller.realcontrol;  
2 -  
3 -import java.io.ByteArrayOutputStream;  
4 -import java.io.IOException;  
5 -import java.io.InputStream;  
6 -import java.io.OutputStream;  
7 -import java.net.HttpURLConnection;  
8 -import java.net.URL;  
9 -import java.util.ArrayList;  
10 -import java.util.Collection;  
11 -import java.util.HashMap;  
12 -import java.util.List;  
13 -import java.util.Map;  
14 -  
15 -import org.apache.commons.io.IOUtils;  
16 -import org.apache.commons.lang3.StringEscapeUtils;  
17 -import org.joda.time.format.DateTimeFormat;  
18 -import org.joda.time.format.DateTimeFormatter;  
19 -import org.springframework.beans.factory.annotation.Autowired;  
20 -import org.springframework.web.bind.annotation.PathVariable;  
21 -import org.springframework.web.bind.annotation.RequestMapping;  
22 -import org.springframework.web.bind.annotation.RequestMethod;  
23 -import org.springframework.web.bind.annotation.RequestParam;  
24 -import org.springframework.web.bind.annotation.RestController;  
25 -  
26 -import com.alibaba.fastjson.JSONArray;  
27 -import com.bsth.common.ResponseCode;  
28 -import com.bsth.controller.BaseController;  
29 -import com.bsth.controller.realcontrol.dto.ChangePersonCar;  
30 -import com.bsth.controller.realcontrol.dto.DfsjChange;  
31 -import com.bsth.data.BasicData;  
32 -import com.bsth.data.schedule.DayOfSchedule;  
33 -import com.bsth.data.schedule.edit_logs.service.dto.SchEditInfoDto;  
34 -import com.bsth.entity.realcontrol.ScheduleRealInfo;  
35 -import com.bsth.entity.schedule.SchedulePlanInfo;  
36 -import com.bsth.entity.sys.SysUser;  
37 -import com.bsth.security.util.SecurityUtils;  
38 -import com.bsth.service.realcontrol.ScheduleRealInfoService;  
39 -import com.bsth.util.ConfigUtil;  
40 -import com.fasterxml.jackson.databind.ObjectMapper;  
41 -  
42 -@RestController  
43 -@RequestMapping("/realSchedule")  
44 -public class ScheduleRealInfoController extends BaseController<ScheduleRealInfo, Long> {  
45 -  
46 - @Autowired  
47 - ScheduleRealInfoService scheduleRealInfoService;  
48 -  
49 - @Autowired  
50 - DayOfSchedule dayOfSchedule;  
51 -  
52 - @RequestMapping(value = "check_fgs_ascription", method = RequestMethod.POST)  
53 - public Map<String, Object> checkPCFgsAscription(@RequestParam Long schId, String jGh, String sGh, String nbbm){  
54 - return scheduleRealInfoService.checkPCFgsAscription(schId, jGh, sGh, nbbm);  
55 - }  
56 -  
57 - @RequestMapping(value = "/lines")  
58 - public Map<String, Collection<ScheduleRealInfo>> findByLines(@RequestParam String lines) {  
59 - return scheduleRealInfoService.findByLines(lines);  
60 - }  
61 -  
62 - @RequestMapping(value = "/car")  
63 - public List<ScheduleRealInfo> findByCar(String nbbm){  
64 - return dayOfSchedule.findByNbbm(nbbm);  
65 - }  
66 -  
67 - /**  
68 - *  
69 - * @Title: outgoAdjust @Description: TODO(待发调整) @param @param id  
70 - * 主键 @param @param remarks 备注 @param @param dfsj 待发时间(HH:mm) @throws  
71 - */  
72 - @RequestMapping(value = "/outgoAdjust", method = RequestMethod.POST)  
73 - public Map<String, Object> outgoAdjust(@RequestParam Long id, @RequestParam String remarks,  
74 - @RequestParam String dfsj,String bcType,  
75 - @RequestParam(defaultValue = "") String opType) {  
76 - return scheduleRealInfoService.outgoAdjust(id, remarks, dfsj, bcType, opType, null);  
77 - }  
78 -  
79 - /**  
80 - *  
81 - * @Title: destroy @Description: TODO(销毁,烂班) @param @param idsStr 要烂掉的班次ID ,分隔  
82 - */  
83 - @RequestMapping(value = "/destroy", method = RequestMethod.POST)  
84 - public Map<String, Object> destroy(@RequestParam String idsStr  
85 - /*, @RequestParam(defaultValue = "-1") int spaceAdjust*/,  
86 - @RequestParam String remarks, @RequestParam String adjustExps/*, @RequestParam(defaultValue = "0") int spaceNum*/) {  
87 - return scheduleRealInfoService.destroy(idsStr, remarks, adjustExps, null);  
88 - }  
89 -  
90 - /**  
91 - *  
92 - * @Title: carDeviceMapp @Description: TODO(获取车辆自编号和设备号对照,从缓存取) @throws  
93 - */  
94 - @RequestMapping(value = "/carDeviceMapp", method = RequestMethod.GET)  
95 - public Map<String, String> carDeviceMapp() {  
96 - return BasicData.deviceId2NbbmMap.inverse();  
97 - }  
98 -  
99 - /**  
100 - *  
101 - * @Title: findPersionByLine @Description: TODO(根据线路主键获取驾驶员) @param @param  
102 - * lineId @throws  
103 - */  
104 - @RequestMapping(value = "/driver", method = RequestMethod.GET)  
105 - public List<Map<String, String>> findDriverByLine(@RequestParam String lineCode) {  
106 - return scheduleRealInfoService.findDriverByLine(lineCode);  
107 - }  
108 -  
109 - /**  
110 - *  
111 - * @Title: findPersionByLine @Description: TODO(根据线路主键获取售票员) @param @param  
112 - * lineId @throws  
113 - */  
114 - @RequestMapping(value = "/conductor", method = RequestMethod.GET)  
115 - public List<Map<String, String>> findConductorByLine(@RequestParam String lineCode) {  
116 - return scheduleRealInfoService.findConductorByLine(lineCode);  
117 - }  
118 -  
119 - /**  
120 - *  
121 - * @Title: findPersionByLine @Description: TODO(根据线路主键获取车辆) @param @param  
122 - * lineId @throws  
123 - */  
124 - @RequestMapping(value = "/cars", method = RequestMethod.GET)  
125 - public List<Map<String, String>> findCarByLine(@RequestParam String lineCode) {  
126 - return scheduleRealInfoService.findCarByLine(lineCode);  
127 - }  
128 -  
129 - /**  
130 - *  
131 - * @Title: sreachNbbm @Description: TODO(搜索车辆内部编码) @throws  
132 - */  
133 - @RequestMapping(value = "/sreachVehic", method = RequestMethod.GET)  
134 - public List<Map<String, String>> sreachVehic(@RequestParam String nbbm) {  
135 - return scheduleRealInfoService.sreachVehic(nbbm);  
136 - }  
137 - /**  
138 - *  
139 - * @Title: realOutAdjust  
140 - * @Description: TODO(实发调整)  
141 - * @param @param id 班次ID  
142 - * @param @param fcsjActual 实际发车时间 HH:mm  
143 - * @param @param remarks 备注  
144 - * @throws  
145 - */  
146 - @RequestMapping(value = "/realOutAdjust", method = RequestMethod.POST)  
147 - public Map<String, Object> realOutAdjust(@RequestParam Long id, @RequestParam String fcsjActual,  
148 - @RequestParam String remarks) {  
149 - return scheduleRealInfoService.realOutAdjust(id, fcsjActual, remarks);  
150 - }  
151 -  
152 - /**  
153 - *  
154 - * @Title: revokeDestroy  
155 - * @Description: TODO(撤销烂班)  
156 - * @param @param id  
157 - * @throws  
158 - */  
159 - @RequestMapping(value = "/revokeDestroy", method = RequestMethod.POST)  
160 - public Map<String, Object> revokeDestroy(@RequestParam Long id){  
161 - return scheduleRealInfoService.revokeDestroy(id);  
162 - }  
163 -  
164 - /**  
165 - *  
166 - * @Title: revokeRealOutgo  
167 - * @Description: TODO(撤销实发)  
168 - * @param @param id  
169 - * @throws  
170 - */  
171 - @RequestMapping(value = "/revokeRealOutgo", method = RequestMethod.POST)  
172 - public Map<String, Object> revokeRealOutgo(@RequestParam Long id){  
173 - return scheduleRealInfoService.revokeRealOutgo(id);  
174 - }  
175 -  
176 - /**  
177 - * 撤销执行  
178 - * @param id  
179 - * @return  
180 - */  
181 - @RequestMapping(value = "/revokeRealArrive", method = RequestMethod.POST)  
182 - public Map<String, Object> revokeRealArrive(@RequestParam Long id){  
183 - return scheduleRealInfoService.revokeRealArrive(id);  
184 - }  
185 -  
186 - /**  
187 - *  
188 - * @Title: spaceAdjust  
189 - * @Description: TODO(间隔调整)  
190 - * @param @param ids 要调整的班次数组ID  
191 - * @param @param space 间隔  
192 - * @throws  
193 - */  
194 - @RequestMapping(value = "/spaceAdjust", method = RequestMethod.POST)  
195 - public Map<String, Object> spaceAdjust(Long[] ids, Integer space){  
196 - return scheduleRealInfoService.spaceAdjust(ids, space);  
197 - }  
198 -  
199 - /**  
200 - *  
201 - * @Title: schInfoFineTune  
202 - * @Description: TODO(发车信息微调)  
203 - * @param @param map  
204 - * @throws  
205 - */  
206 - @RequestMapping(value = "/schInfoFineTune", method = RequestMethod.POST)  
207 - public Map<String, Object> schInfoFineTune(@RequestParam Map<String, String> map){  
208 - return scheduleRealInfoService.schInfoFineTune(map);  
209 - }  
210 -  
211 - /**  
212 - *  
213 - * @Title: outgoAdjustAll  
214 - * @Description: TODO(批量待发调整)  
215 - * @param @param list  
216 - * @throws  
217 - */  
218 - @RequestMapping(value = "/outgoAdjustAll", method = RequestMethod.POST)  
219 - public Map<String, Object> outgoAdjustAll(@RequestParam String params){  
220 - //反转义  
221 - params = StringEscapeUtils.unescapeHtml4(params);  
222 - return scheduleRealInfoService.outgoAdjustAll(params);  
223 - }  
224 -  
225 - /**  
226 - *  
227 - * @Title: findByLineAndUpDown  
228 - * @Description: TODO(根据线路和走向获取班次)  
229 - * @param @param line  
230 - * @param @param upDown  
231 - */  
232 - @RequestMapping(value = "/findByLineAndUpDown")  
233 - public List<ScheduleRealInfo> findByLineAndUpDown(@RequestParam String line,@RequestParam Integer upDown){  
234 - return dayOfSchedule.findByLineAndUpDown(line, upDown);  
235 - }  
236 -  
237 - /**  
238 - *  
239 - * @Title: findRouteByLine  
240 - * @Description: TODO(获取线路的站点,路段路由)  
241 - * @param @param lineCode  
242 - * @throws  
243 - */  
244 - @RequestMapping(value = "/findRouteByLine")  
245 - public Map<String, Object> findRouteByLine(@RequestParam String lineCode){  
246 - return scheduleRealInfoService.findRouteByLine(lineCode);  
247 - }  
248 -  
249 - /**  
250 - *  
251 - * @Title: removeChildTask  
252 - * @Description: TODO(删除子任务)  
253 - * @param @param taskId 子任务ID  
254 - * @throws  
255 - */  
256 - @RequestMapping(value = "/childTask/{taskId}", method = RequestMethod.DELETE)  
257 - public Map<String, Object> removeChildTask(@PathVariable("taskId") Long taskId){  
258 - return scheduleRealInfoService.removeChildTask(taskId);  
259 - }  
260 -  
261 - /**  
262 - *  
263 - * @Title: findByLineCode  
264 - * @Description: TODO(根据线路获取班次信息)  
265 - * @param @param lineCode  
266 - */  
267 - @RequestMapping(value = "/lineCode/{lineCode}")  
268 - public List<ScheduleRealInfo> findByLineCode(@PathVariable("lineCode") String lineCode){  
269 - return dayOfSchedule.findByLineCode(lineCode);  
270 - }  
271 -  
272 - @RequestMapping(value = "/queryUserInfo")  
273 - public List<ScheduleRealInfo> queryUserInfo(@RequestParam String line,  
274 - @RequestParam String date,@RequestParam String state) {  
275 - return scheduleRealInfoService.queryUserInfo(line, date,state);  
276 - }  
277 -  
278 - @RequestMapping(value = "/queryUserInfoPx")  
279 - public List<ScheduleRealInfo> queryUserInfoPx(@RequestParam String line,  
280 - @RequestParam String date,@RequestParam String state,@RequestParam String type) {  
281 - return scheduleRealInfoService.queryUserInfoPx(line, date,state,type);  
282 - }  
283 -  
284 - @RequestMapping(value = "/exportWaybill",method = RequestMethod.GET)  
285 - public List<ScheduleRealInfo> exportWaybill(@RequestParam String jName, @RequestParam String clZbh,  
286 - @RequestParam String lpName,@RequestParam String date,@RequestParam String line) {  
287 - return scheduleRealInfoService.exportWaybill(jName, clZbh, lpName,date,line);  
288 - }  
289 -  
290 - @RequestMapping(value = "/exportWaybillQp",method = RequestMethod.GET)  
291 - public List<ScheduleRealInfo> exportWaybillQp(@RequestParam String clZbh  
292 - ,@RequestParam String date,@RequestParam String line) {  
293 - return scheduleRealInfoService.exportWaybillQp( clZbh, date,line);  
294 - }  
295 -  
296 -  
297 - @RequestMapping(value = "/dailyInfo")  
298 - public List<Map<String, Object>> dailyInfo(@RequestParam String line, @RequestParam String date,@RequestParam String type) {  
299 - return scheduleRealInfoService.dailyInfo(line, date, type);  
300 - }  
301 -  
302 - @RequestMapping(value = "/historyMessage")  
303 - public List<Object[]> historyMessage(@RequestParam String line, @RequestParam String date,  
304 - @RequestParam String code, @RequestParam String type) {  
305 - return scheduleRealInfoService.historyMessage(line, date, code, type);  
306 - }  
307 -  
308 - @RequestMapping(value="/findLine")  
309 - public List<Map<String,String>> findLine(@RequestParam String line){  
310 - return scheduleRealInfoService.findLine(line);  
311 - }  
312 -  
313 - @RequestMapping(value="/findKMBC",method = RequestMethod.GET)  
314 - public Map<String,Object> findKMBC(@RequestParam String jGh,@RequestParam String clZbh,@RequestParam String lpName  
315 - ,@RequestParam String date,@RequestParam String line){  
316 - return scheduleRealInfoService.findKMBC(jGh, clZbh,lpName,date,line);  
317 - }  
318 -  
319 - /**  
320 - * 路单公里统计 (闵行审计专用)  
321 - * @param jGh  
322 - * @param clZbh  
323 - * @param lpName  
324 - * @param date  
325 - * @param line  
326 - * @return  
327 - */  
328 - @RequestMapping(value="/findKMBC_mh_2",method = RequestMethod.GET)  
329 - public Map<String,Object> findKMBC_mh_2(@RequestParam String jGh,@RequestParam String clZbh,@RequestParam String lpName  
330 - ,@RequestParam String date,@RequestParam String line){  
331 - return scheduleRealInfoService.findKMBC_mh_2(jGh, clZbh,lpName,date,line);  
332 - }  
333 -  
334 - @RequestMapping(value="/findKMBCQp",method = RequestMethod.GET)  
335 - public Map<String,Object> findKMBCQp(@RequestParam String clZbh  
336 - ,@RequestParam String date,@RequestParam String line){  
337 - return scheduleRealInfoService.findKMBCQp(clZbh,date,line);  
338 - }  
339 -  
340 - @RequestMapping(value="/findLpName")  
341 - public List<Map<String,String>> findLpName(@RequestParam String lpName){  
342 - return scheduleRealInfoService.findLpName(lpName);  
343 - }  
344 -  
345 - @RequestMapping(value = "/account")  
346 - public List<Map<String,Object>> account(@RequestParam String line, @RequestParam String date,  
347 - @RequestParam String code,@RequestParam String xlName, @RequestParam String type) {  
348 - return scheduleRealInfoService.account(line, date, code, xlName, type);  
349 - }  
350 -  
351 - @RequestMapping(value = "/accountPx")  
352 - public List<Map<String,Object>> accountPx(@RequestParam String line, @RequestParam String date,  
353 - @RequestParam String code,@RequestParam String xlName, @RequestParam String px) {  
354 - return scheduleRealInfoService.accountPx(line, date, code, xlName, px);  
355 - }  
356 -  
357 - @RequestMapping(value = "/correctForm")  
358 - public List<SchEditInfoDto> correctForm(@RequestParam String line, @RequestParam String date,  
359 - @RequestParam String endDate,  
360 - @RequestParam String lpName, @RequestParam String code,  
361 - @RequestParam String type,@RequestParam String changType) {  
362 - return scheduleRealInfoService.correctForm(line, date, endDate, lpName, code, type,changType);  
363 - }  
364 - /**  
365 - * @Title queryListWaybill  
366 - * @Description 查询行车路单列表  
367 - * @param jName 驾驶员名字  
368 - * @param clZbh 车辆自编号(内部编号)  
369 - * @param lpName 路牌  
370 - * @return  
371 - */  
372 - @RequestMapping(value="/queryListWaybill",method = RequestMethod.GET)  
373 - public List<ScheduleRealInfo> queryListWaybill(@RequestParam String jName,@RequestParam String clZbh,@RequestParam String lpName  
374 - ,@RequestParam String date,@RequestParam String line){  
375 - return scheduleRealInfoService.queryListWaybill(jName, clZbh,lpName,date,line);  
376 - }  
377 -  
378 - /**  
379 - * @Title queryListWaybill  
380 - * @Description 查询行车路单列表(闵行审计专用路单)  
381 - * @param jName 驾驶员名字  
382 - * @param clZbh 车辆自编号(内部编号)  
383 - * @param lpName 路牌  
384 - * @return  
385 - */  
386 - @RequestMapping(value="/queryListWaybill_mh_2",method = RequestMethod.GET)  
387 - public List<ScheduleRealInfo> queryListWaybill_mh_2(@RequestParam String jName,@RequestParam String clZbh,@RequestParam String lpName  
388 - ,@RequestParam String date,@RequestParam String line){  
389 - return scheduleRealInfoService.queryListWaybill2(jName, clZbh,lpName,date,line);  
390 - }  
391 -  
392 - @RequestMapping(value="/queryListWaybillQp",method = RequestMethod.GET)  
393 - public List<ScheduleRealInfo> queryListWaybillQp(@RequestParam String clZbh,  
394 - @RequestParam String date,@RequestParam String line){  
395 - return scheduleRealInfoService.queryListWaybillQp(clZbh,date,line);  
396 - }  
397 -  
398 - @RequestMapping(value="/statisticsDaily")  
399 - public List<Map<String,Object>> statisticsDaily(@RequestParam String line, @RequestParam String date,  
400 - @RequestParam String xlName, @RequestParam String type){  
401 - return scheduleRealInfoService.statisticsDaily(line, date, xlName, type);  
402 - }  
403 -  
404 - @RequestMapping(value="/statisticsDaily_mh_2")  
405 - public List<Map<String,Object>> statisticsDaily_mh_2(@RequestParam String line, @RequestParam String date,  
406 - @RequestParam String xlName, @RequestParam String type){  
407 - return scheduleRealInfoService.statisticsDaily_mh_2(line, date, xlName, type);  
408 - }  
409 -  
410 - @RequestMapping(value="/statisticsDailyTj")  
411 - public List<Map<String,Object>> statisticsDailyTj(@RequestParam Map<String, Object> map){  
412 - String gsdm="";  
413 - if(map.get("gsdm")!=null){  
414 - gsdm=map.get("gsdm").toString();  
415 - }  
416 - String fgsdm="";  
417 - if(map.get("fgsdm")!=null){  
418 - fgsdm=map.get("fgsdm").toString();  
419 - }  
420 - String line="";  
421 - if(map.get("line")!=null){  
422 - line=map.get("line").toString();  
423 - }  
424 - String date="";  
425 - if(map.get("date")!=null){  
426 - date=map.get("date").toString();  
427 - }  
428 - String date2="";  
429 - if(map.get("date2")!=null){  
430 - date2=map.get("date2").toString();  
431 - }  
432 - String xlName="";  
433 - if(map.get("xlName")!=null){  
434 - xlName=map.get("xlName").toString();  
435 - }  
436 - String type="";  
437 - if(map.get("type")!=null){  
438 - type=map.get("type").toString();  
439 - }  
440 - String nature="0";  
441 - if(map.get("nature")!=null){  
442 - nature=map.get("nature").toString();  
443 - }  
444 - return scheduleRealInfoService.statisticsDailyTj(gsdm,fgsdm,line, date,date2, xlName, type,nature);  
445 - }  
446 -  
447 - /*  
448 - * 公里修正报表  
449 - */  
450 - @RequestMapping(value="/mileageReportTj")  
451 - public List<Map<String,Object>> mileageReport(@RequestParam Map<String, Object> map){  
452 - String gsdm="";  
453 - if(map.get("gsdm")!=null){  
454 - gsdm=map.get("gsdm").toString();  
455 - }  
456 - String fgsdm="";  
457 - if(map.get("fgsdm")!=null){  
458 - fgsdm=map.get("fgsdm").toString();  
459 - }  
460 - String line="";  
461 - if(map.get("line")!=null){  
462 - line=map.get("line").toString();  
463 - }  
464 - String date="";  
465 - if(map.get("date")!=null){  
466 - date=map.get("date").toString();  
467 - }  
468 - String date2="";  
469 - if(map.get("date2")!=null){  
470 - date2=map.get("date2").toString();  
471 - }  
472 - String xlName="";  
473 - if(map.get("xlName")!=null){  
474 - xlName=map.get("xlName").toString();  
475 - }  
476 - return scheduleRealInfoService.mileageReport(gsdm,fgsdm,line, date,date2);  
477 - }  
478 -  
479 - /*  
480 - * 班次修正报表  
481 - */  
482 - @RequestMapping(value="/scheduleCorrectionReport")  
483 - public List<Map<String,Object>> scheduleCorrectionReport(@RequestParam Map<String, Object> map){  
484 - String gsdm="";  
485 - if(map.get("gsdm")!=null){  
486 - gsdm=map.get("gsdm").toString();  
487 - }  
488 - String fgsdm="";  
489 - if(map.get("fgsdm")!=null){  
490 - fgsdm=map.get("fgsdm").toString();  
491 - }  
492 - String line="";  
493 - if(map.get("line")!=null){  
494 - line=map.get("line").toString();  
495 - }  
496 - String date="";  
497 - if(map.get("date")!=null){  
498 - date=map.get("date").toString();  
499 - }  
500 - String date2="";  
501 - if(map.get("date2")!=null){  
502 - date2=map.get("date2").toString();  
503 - }  
504 - String xlName="";  
505 - if(map.get("xlName")!=null){  
506 - xlName=map.get("xlName").toString();  
507 - }  
508 - return scheduleRealInfoService.scheduleCorrectionReport(gsdm,fgsdm,line, date,date2);  
509 - }  
510 -  
511 - @RequestMapping(value="/MapById",method = RequestMethod.GET)  
512 - public Map<String, Object> MapById(@RequestParam("id") Long id){  
513 - return scheduleRealInfoService.MapById(id);  
514 - }  
515 -  
516 - @RequestMapping(value="/MapByIdQp",method = RequestMethod.GET)  
517 - public Map<String, Object> MapByIdQp(@RequestParam("id") Long id){  
518 - return scheduleRealInfoService.MapByIdQp(id);  
519 - }  
520 -  
521 - /**  
522 - * @Title: scheduleDaily  
523 - * @Description: TODO(调度日报表)  
524 - * @param line 线路  
525 - * @param date 时间  
526 - * @return  
527 - */  
528 - @RequestMapping(value="/scheduleDaily")  
529 - public Map<String,Object> scheduleDaily(@RequestParam String line,@RequestParam String date){  
530 - return scheduleRealInfoService.scheduleDaily(line,date);  
531 - }  
532 -  
533 - @RequestMapping(value="/realScheduleList")  
534 - public List<ScheduleRealInfo> realScheduleList(@RequestParam String line,@RequestParam String date){  
535 - return scheduleRealInfoService.realScheduleList(line,date);  
536 - }  
537 -  
538 - @RequestMapping(value="/realScheduleList_zrw")  
539 - public List<ScheduleRealInfo> realScheduleList_zrw(@RequestParam String line,@RequestParam String date){  
540 - return scheduleRealInfoService.realScheduleList_zrw(line,date);  
541 - }  
542 -  
543 - @RequestMapping(value="/realScheduleList_mh_2")  
544 - public List<ScheduleRealInfo> realScheduleList_mh_2(@RequestParam String line,@RequestParam String date){  
545 - return scheduleRealInfoService.realScheduleList_mh_2(line,date);  
546 - }  
547 -  
548 - @RequestMapping(value="/realScheduleListQp")  
549 - public List<ScheduleRealInfo> realScheduleListQp(@RequestParam String line,@RequestParam String date){  
550 - return scheduleRealInfoService.realScheduleListQp(line,date);  
551 - }  
552 -  
553 - @RequestMapping(value="/multi_tzrc", method=RequestMethod.POST)  
554 - public Map<String, Object> multi_tzrc(@RequestParam String cpcsJson){  
555 - cpcsJson = StringEscapeUtils.unescapeHtml4(cpcsJson);  
556 - List<ChangePersonCar> cpcs = JSONArray.parseArray(cpcsJson, ChangePersonCar.class);  
557 - return scheduleRealInfoService.multi_tzrc(cpcs, null);  
558 - }  
559 -  
560 - @RequestMapping(value="/multi_dftz", method=RequestMethod.POST)  
561 - public Map<String, Object> multi_dftz(@RequestParam String dcsJson){  
562 - dcsJson = StringEscapeUtils.unescapeHtml4(dcsJson);  
563 - List<DfsjChange> dfsjcs = JSONArray.parseArray(dcsJson, DfsjChange.class);  
564 - return scheduleRealInfoService.multi_dftz(dfsjcs);  
565 - }  
566 -  
567 - @RequestMapping(value="/changeBcType/{id}", method=RequestMethod.POST)  
568 - public Map<String, Object> changeBcType(@PathVariable("id") Long id, String bcType, String remarks, String majorStationName){  
569 - return scheduleRealInfoService.changeBcType(id, bcType, remarks, majorStationName);  
570 - }  
571 -  
572 - @RequestMapping(value="/history", method=RequestMethod.POST)  
573 - public Map<String,Object> historySave(ScheduleRealInfo sch){  
574 - return scheduleRealInfoService.historySave(sch);  
575 - }  
576 -  
577 -  
578 - private static DateTimeFormatter fmtyyyyMMdd = DateTimeFormat.forPattern("yyyy-MM-dd");  
579 - private final static long ONE_DAY = 1000 * 60 * 60 * 24;  
580 - /**  
581 - * 获取可编辑的历史班次日期  
582 - * @return  
583 - */  
584 - @RequestMapping("dateArray")  
585 - public List<String> dateArray(@RequestParam(defaultValue = "0") int c){  
586 - List<String> rs = new ArrayList<>();  
587 -  
588 - long t = System.currentTimeMillis();  
589 - if(c != 1)  
590 - t -= (ONE_DAY + (1000 * 60 * 60 * 6));  
591 - for(int i = 0; i < 3; i ++){  
592 - rs.add(fmtyyyyMMdd.print(t));  
593 - t -= ONE_DAY;  
594 - }  
595 - return rs;  
596 - }  
597 -  
598 - @RequestMapping(value = "svgAttr", method = RequestMethod.POST)  
599 - public Map<String, Object> svgAttr(@RequestParam String jsonStr){  
600 - return scheduleRealInfoService.svgAttr(jsonStr);  
601 - }  
602 -  
603 - @RequestMapping(value = "svgAttr", method = RequestMethod.GET)  
604 - public Map<String, Object> findSvgAttr(@RequestParam String idx){  
605 - return scheduleRealInfoService.findSvgAttr(idx);  
606 - }  
607 -  
608 - @RequestMapping(value = "addRemarks", method = RequestMethod.POST)  
609 - public Map<String, Object> addRemarks(@RequestParam Long id, @RequestParam String remarks){  
610 - return scheduleRealInfoService.addRemarks(id, remarks);  
611 - }  
612 -  
613 - @RequestMapping(value = "scheduleDailyQp", method = RequestMethod.GET)  
614 - public List<Map<String, Object>> scheduleDailyQp(@RequestParam String line,@RequestParam String date){  
615 - return scheduleRealInfoService.scheduleDailyQp(line,date);  
616 - }  
617 -  
618 - @RequestMapping(value = "scheduleDailyExport", method = RequestMethod.GET)  
619 - public List<Map<String, Object>> scheduleDailyExport(@RequestParam Map<String, Object> map){  
620 - return scheduleRealInfoService.scheduleDailyExport(map);  
621 - }  
622 -  
623 - @RequestMapping(value = "exportWaybillMore", method = RequestMethod.GET)  
624 - public Map<String, Object> exportWaybillMore(@RequestParam Map<String, Object> map){  
625 - return scheduleRealInfoService.exportWaybillMore(map);  
626 - }  
627 -  
628 - /**  
629 - * 获取当日计划排班 , 从计划表抓取数据  
630 - * @return  
631 - */  
632 - @RequestMapping(value = "currSchedulePlanByLineCode", method = RequestMethod.GET)  
633 - public List<SchedulePlanInfo> currentSchedulePlan(@RequestParam String lineCode){  
634 - return scheduleRealInfoService.currentSchedulePlan(lineCode);  
635 - }  
636 -  
637 - @RequestMapping(value = "lpChangeMulti", method = RequestMethod.POST)  
638 - public Map<String, Object> lpChangeMulti(@RequestParam String leftIdx, @RequestParam String rightIdx,@RequestParam int type){  
639 - return scheduleRealInfoService.lpChangeMulti(leftIdx, rightIdx, type);  
640 - }  
641 -  
642 - /**  
643 - * 删除当日实际排班  
644 - * @return  
645 - */  
646 - @RequestMapping(value = "deleteRealSchedule", method = RequestMethod.POST)  
647 - public Map<String, Object> deleteRealSchedule(@RequestParam String lineCode){  
648 - return dayOfSchedule.deleteRealSchedule(lineCode);  
649 - }  
650 -  
651 - /**  
652 - * 从计划表重新加载当日排班  
653 - * @param lineCode  
654 - * @return  
655 - */  
656 - @RequestMapping(value = "reLoadRealSchedule", method = RequestMethod.POST)  
657 - public Map<String, Object> reLoadRealSchedule(@RequestParam String lineCode){  
658 - Map<String, Object> rs = new HashMap<>();  
659 - List<ScheduleRealInfo> list = dayOfSchedule.findByLineCode(lineCode);  
660 - if(list != null && list.size() > 0){  
661 - rs.put("status", ResponseCode.ERROR);  
662 - rs.put("msg", "失败," + list.get(0).getXlName() + "当日存在实际排班,无法重新加载。");  
663 - return rs;  
664 - }  
665 -  
666 - int code = dayOfSchedule.reloadSch(lineCode);  
667 -  
668 - //重新按公司编码索引数据  
669 - dayOfSchedule.groupByGsbm();  
670 - rs.put("status", code==0? ResponseCode.SUCCESS: ResponseCode.ERROR);  
671 - return rs;  
672 - }  
673 -  
674 - /**  
675 - * 误点调整  
676 - * @param idx  
677 - * @param minute  
678 - * @return  
679 - */  
680 - @RequestMapping(value = "lateAdjust", method = RequestMethod.POST)  
681 - public Map<String, Object> lateAdjust(@RequestParam String idx,@RequestParam float minute ){  
682 - return scheduleRealInfoService.lateAdjust(idx, minute);  
683 - }  
684 -  
685 - /**  
686 - * 获取所有应发未到的班次  
687 - * @param idx  
688 - * @return  
689 - */  
690 - @RequestMapping(value = "allLate2")  
691 - public List<ScheduleRealInfo> allLate2(@RequestParam String idx){  
692 - return scheduleRealInfoService.allLate2(idx);  
693 - }  
694 -  
695 - /**  
696 - * 添加一个临加到历史库  
697 - * @param sch  
698 - * @return  
699 - */  
700 - @RequestMapping(value = "history/add", method = RequestMethod.POST)  
701 - public Map<String, Object> addToHistory(ScheduleRealInfo sch){  
702 - return scheduleRealInfoService.addToHistory(sch);  
703 - }  
704 -  
705 - /**  
706 - * 从历史库里删除临加班次  
707 - * @param sch  
708 - * @return  
709 - */  
710 - @RequestMapping(value = "history/{id}", method = RequestMethod.DELETE)  
711 - public Map<String, Object> deleteToHistory(@PathVariable("id") Long id){  
712 - return scheduleRealInfoService.deleteToHistory(id);  
713 - }  
714 -  
715 - /**  
716 - * 从历史库里删除临加班次  
717 - * @param sch  
718 - * @return  
719 - */  
720 - @RequestMapping(value = "wxsb", method = RequestMethod.POST)  
721 - public Map<String, Object> deleteToHistory(@RequestParam Map<String, Object> param){  
722 - SysUser user = SecurityUtils.getCurrentUser();  
723 - String uname = user.getUserName();  
724 - StringBuilder url = new StringBuilder(ConfigUtil.get("http.report.url"));  
725 - url.append("?nbbm=").append(param.get("nbbm")).append("&bxy=").append(uname).append("&bxbm=").append(param.get("bxType"));  
726 - // 分公司保存格式 分公司编码_公司编码  
727 - String val = BasicData.nbbm2FgsCompanyCodeMap.get(param.get("nbbm"));  
728 - String[] arr = val.split("_");  
729 - if (!"22".equals(arr[1])) {  
730 - Map<String, Object> res = new HashMap<String, Object>();  
731 - res.put("status", ResponseCode.ERROR);  
732 - res.put("msg", "除金高公司外暂未开通此功能");  
733 -  
734 - return res;  
735 - }  
736 - url.append("&fgs=").append(arr[0]);  
737 -  
738 - return request(url.toString());  
739 - }  
740 -  
741 - @SuppressWarnings("unchecked")  
742 - private static Map<String, Object> request(String url) {  
743 - Map<String, Object> res = new HashMap<String, Object>();  
744 - res.put("status", ResponseCode.SUCCESS);  
745 - InputStream in = null;  
746 - HttpURLConnection con = null;  
747 - try {  
748 - con = (HttpURLConnection)new URL(url).openConnection();  
749 - con.setRequestMethod("POST");  
750 - con.setRequestProperty("keep-alive", "true");  
751 - con.setRequestProperty("accept", "application/json");  
752 - con.setRequestProperty("content-type", "application/json");  
753 - con.setDoInput(true);  
754 - con.setReadTimeout(2500);  
755 - con.setConnectTimeout(2500);  
756 -  
757 - con.connect();  
758 - if (con.getResponseCode() == 200) {  
759 - in = con.getInputStream();  
760 - ByteArrayOutputStream bout = new ByteArrayOutputStream();  
761 - IOUtils.copy(in, bout); bout.close();  
762 - Map<String, Object> response = new ObjectMapper().readValue(bout.toByteArray(), Map.class);  
763 - if (!"报修成功".equals(response.get("msg"))) {  
764 - res.put("status", ResponseCode.ERROR);  
765 - res.putAll(response);  
766 - }  
767 - }  
768 - } catch (IOException e) {  
769 - // TODO Auto-generated catch block  
770 - res.put("status", ResponseCode.ERROR);  
771 - res.put("msg", "调用上报接口异常");  
772 - } finally {  
773 - try {  
774 - if (in != null) in.close();  
775 - if (con != null) con.disconnect();  
776 - } catch (IOException e) {  
777 - // TODO Auto-generated catch block  
778 - e.printStackTrace();  
779 - }  
780 - }  
781 -  
782 - return res;  
783 - }  
784 -} 1 +package com.bsth.controller.realcontrol;
  2 +
  3 +import java.io.ByteArrayOutputStream;
  4 +import java.io.IOException;
  5 +import java.io.InputStream;
  6 +import java.io.OutputStream;
  7 +import java.net.HttpURLConnection;
  8 +import java.net.URL;
  9 +import java.util.ArrayList;
  10 +import java.util.Collection;
  11 +import java.util.HashMap;
  12 +import java.util.List;
  13 +import java.util.Map;
  14 +
  15 +import org.apache.commons.io.IOUtils;
  16 +import org.apache.commons.lang3.StringEscapeUtils;
  17 +import org.joda.time.format.DateTimeFormat;
  18 +import org.joda.time.format.DateTimeFormatter;
  19 +import org.springframework.beans.factory.annotation.Autowired;
  20 +import org.springframework.web.bind.annotation.PathVariable;
  21 +import org.springframework.web.bind.annotation.RequestMapping;
  22 +import org.springframework.web.bind.annotation.RequestMethod;
  23 +import org.springframework.web.bind.annotation.RequestParam;
  24 +import org.springframework.web.bind.annotation.RestController;
  25 +
  26 +import com.alibaba.fastjson.JSONArray;
  27 +import com.bsth.common.ResponseCode;
  28 +import com.bsth.controller.BaseController;
  29 +import com.bsth.controller.realcontrol.dto.ChangePersonCar;
  30 +import com.bsth.controller.realcontrol.dto.DfsjChange;
  31 +import com.bsth.data.BasicData;
  32 +import com.bsth.data.schedule.DayOfSchedule;
  33 +import com.bsth.data.schedule.edit_logs.service.dto.SchEditInfoDto;
  34 +import com.bsth.entity.realcontrol.ScheduleRealInfo;
  35 +import com.bsth.entity.schedule.SchedulePlanInfo;
  36 +import com.bsth.entity.sys.SysUser;
  37 +import com.bsth.security.util.SecurityUtils;
  38 +import com.bsth.service.realcontrol.ScheduleRealInfoService;
  39 +import com.bsth.util.ConfigUtil;
  40 +import com.fasterxml.jackson.databind.ObjectMapper;
  41 +
  42 +@RestController
  43 +@RequestMapping("/realSchedule")
  44 +public class ScheduleRealInfoController extends BaseController<ScheduleRealInfo, Long> {
  45 +
  46 + @Autowired
  47 + ScheduleRealInfoService scheduleRealInfoService;
  48 +
  49 + @Autowired
  50 + DayOfSchedule dayOfSchedule;
  51 + //待发时间调整时间
  52 + public static Long dfsj= 0L;
  53 + //待发时间调整
  54 + public Long dfsj(Long sj){
  55 + dfsj = sj;
  56 + return dfsj;
  57 + }
  58 +
  59 + @RequestMapping(value = "check_fgs_ascription", method = RequestMethod.POST)
  60 + public Map<String, Object> checkPCFgsAscription(@RequestParam Long schId, String jGh, String sGh, String nbbm){
  61 + return scheduleRealInfoService.checkPCFgsAscription(schId, jGh, sGh, nbbm);
  62 + }
  63 +
  64 + @RequestMapping(value = "/lines")
  65 + public Map<String, Collection<ScheduleRealInfo>> findByLines(@RequestParam String lines) {
  66 + return scheduleRealInfoService.findByLines(lines);
  67 + }
  68 +
  69 + @RequestMapping(value = "/car")
  70 + public List<ScheduleRealInfo> findByCar(String nbbm){
  71 + return dayOfSchedule.findByNbbm(nbbm);
  72 + }
  73 +
  74 + /**
  75 + *
  76 + * @Title: outgoAdjust @Description: TODO(待发调整) @param @param id
  77 + * 主键 @param @param remarks 备注 @param @param dfsj 待发时间(HH:mm) @throws
  78 + */
  79 + @RequestMapping(value = "/outgoAdjust", method = RequestMethod.POST)
  80 + public Map<String, Object> outgoAdjust(@RequestParam Long id, @RequestParam String remarks,
  81 + @RequestParam String dfsj,String bcType,
  82 + @RequestParam(defaultValue = "") String opType) {
  83 + return scheduleRealInfoService.outgoAdjust(id, remarks, dfsj, bcType, opType, null);
  84 + }
  85 +
  86 +
  87 + /**
  88 + *
  89 + * @Title: outgoAdjust @Description: TODO(待发调整锁定待发)
  90 + *
  91 + */
  92 + @RequestMapping(value = "/outgoAdjusttwo", method = RequestMethod.POST)
  93 + public Map<String, Object> outgoAdjusttow(@RequestParam String dfsj) {
  94 + return scheduleRealInfoService.outgoAdjusttwo(dfsj);
  95 + }
  96 + /**
  97 + *
  98 + * @Title: outgoAdjust @Description: TODO(待发时间定义)
  99 + *
  100 + */
  101 + @RequestMapping(value = "/outgoAdjusttwodfsj", method = RequestMethod.POST)
  102 + public Long outgoAdjusttowdfsj(@RequestParam Long dfsj) {
  103 + return dfsj(dfsj);
  104 + }
  105 +
  106 + /**
  107 + *
  108 + * @Title: outgoAdjust @Description: TODO(待发时间查询)
  109 + *
  110 + */
  111 + @RequestMapping(value = "/outgoAdjusttwoxc", method = RequestMethod.POST)
  112 + public Long outgoAdjusttowdfsjxc() {
  113 + return dfsj;
  114 + }
  115 +
  116 +
  117 + /**
  118 + *
  119 + * @Title: destroy @Description: TODO(销毁,烂班) @param @param idsStr 要烂掉的班次ID ,分隔
  120 + */
  121 + @RequestMapping(value = "/destroy", method = RequestMethod.POST)
  122 + public Map<String, Object> destroy(@RequestParam String idsStr
  123 + /*, @RequestParam(defaultValue = "-1") int spaceAdjust*/,
  124 + @RequestParam String remarks, @RequestParam String adjustExps/*, @RequestParam(defaultValue = "0") int spaceNum*/) {
  125 + return scheduleRealInfoService.destroy(idsStr, remarks, adjustExps, null);
  126 + }
  127 +
  128 + /**
  129 + *
  130 + * @Title: carDeviceMapp @Description: TODO(获取车辆自编号和设备号对照,从缓存取) @throws
  131 + */
  132 + @RequestMapping(value = "/carDeviceMapp", method = RequestMethod.GET)
  133 + public Map<String, String> carDeviceMapp() {
  134 + return BasicData.deviceId2NbbmMap.inverse();
  135 + }
  136 +
  137 + /**
  138 + *
  139 + * @Title: findPersionByLine @Description: TODO(根据线路主键获取驾驶员) @param @param
  140 + * lineId @throws
  141 + */
  142 + @RequestMapping(value = "/driver", method = RequestMethod.GET)
  143 + public List<Map<String, String>> findDriverByLine(@RequestParam String lineCode) {
  144 + return scheduleRealInfoService.findDriverByLine(lineCode);
  145 + }
  146 +
  147 + /**
  148 + *
  149 + * @Title: findPersionByLine @Description: TODO(根据线路主键获取售票员) @param @param
  150 + * lineId @throws
  151 + */
  152 + @RequestMapping(value = "/conductor", method = RequestMethod.GET)
  153 + public List<Map<String, String>> findConductorByLine(@RequestParam String lineCode) {
  154 + return scheduleRealInfoService.findConductorByLine(lineCode);
  155 + }
  156 +
  157 + /**
  158 + *
  159 + * @Title: findPersionByLine @Description: TODO(根据线路主键获取车辆) @param @param
  160 + * lineId @throws
  161 + */
  162 + @RequestMapping(value = "/cars", method = RequestMethod.GET)
  163 + public List<Map<String, String>> findCarByLine(@RequestParam String lineCode) {
  164 + return scheduleRealInfoService.findCarByLine(lineCode);
  165 + }
  166 +
  167 + /**
  168 + *
  169 + * @Title: sreachNbbm @Description: TODO(搜索车辆内部编码) @throws
  170 + */
  171 + @RequestMapping(value = "/sreachVehic", method = RequestMethod.GET)
  172 + public List<Map<String, String>> sreachVehic(@RequestParam String nbbm) {
  173 + return scheduleRealInfoService.sreachVehic(nbbm);
  174 + }
  175 + /**
  176 + *
  177 + * @Title: realOutAdjust
  178 + * @Description: TODO(实发调整)
  179 + * @param @param id 班次ID
  180 + * @param @param fcsjActual 实际发车时间 HH:mm
  181 + * @param @param remarks 备注
  182 + * @throws
  183 + */
  184 + @RequestMapping(value = "/realOutAdjust", method = RequestMethod.POST)
  185 + public Map<String, Object> realOutAdjust(@RequestParam Long id, @RequestParam String fcsjActual,
  186 + @RequestParam String remarks) {
  187 + return scheduleRealInfoService.realOutAdjust(id, fcsjActual, remarks);
  188 + }
  189 +
  190 + /**
  191 + *
  192 + * @Title: revokeDestroy
  193 + * @Description: TODO(撤销烂班)
  194 + * @param @param id
  195 + * @throws
  196 + */
  197 + @RequestMapping(value = "/revokeDestroy", method = RequestMethod.POST)
  198 + public Map<String, Object> revokeDestroy(@RequestParam Long id){
  199 + return scheduleRealInfoService.revokeDestroy(id);
  200 + }
  201 +
  202 + /**
  203 + *
  204 + * @Title: revokeRealOutgo
  205 + * @Description: TODO(撤销实发)
  206 + * @param @param id
  207 + * @throws
  208 + */
  209 + @RequestMapping(value = "/revokeRealOutgo", method = RequestMethod.POST)
  210 + public Map<String, Object> revokeRealOutgo(@RequestParam Long id){
  211 + return scheduleRealInfoService.revokeRealOutgo(id);
  212 + }
  213 +
  214 + /**
  215 + * 撤销执行
  216 + * @param id
  217 + * @return
  218 + */
  219 + @RequestMapping(value = "/revokeRealArrive", method = RequestMethod.POST)
  220 + public Map<String, Object> revokeRealArrive(@RequestParam Long id){
  221 + return scheduleRealInfoService.revokeRealArrive(id);
  222 + }
  223 +
  224 + /**
  225 + *
  226 + * @Title: spaceAdjust
  227 + * @Description: TODO(间隔调整)
  228 + * @param @param ids 要调整的班次数组ID
  229 + * @param @param space 间隔
  230 + * @throws
  231 + */
  232 + @RequestMapping(value = "/spaceAdjust", method = RequestMethod.POST)
  233 + public Map<String, Object> spaceAdjust(Long[] ids, Integer space){
  234 + return scheduleRealInfoService.spaceAdjust(ids, space);
  235 + }
  236 +
  237 + /**
  238 + *
  239 + * @Title: schInfoFineTune
  240 + * @Description: TODO(发车信息微调)
  241 + * @param @param map
  242 + * @throws
  243 + */
  244 + @RequestMapping(value = "/schInfoFineTune", method = RequestMethod.POST)
  245 + public Map<String, Object> schInfoFineTune(@RequestParam Map<String, String> map){
  246 + return scheduleRealInfoService.schInfoFineTune(map);
  247 + }
  248 +
  249 + /**
  250 + *
  251 + * @Title: outgoAdjustAll
  252 + * @Description: TODO(批量待发调整)
  253 + * @param @param list
  254 + * @throws
  255 + */
  256 + @RequestMapping(value = "/outgoAdjustAll", method = RequestMethod.POST)
  257 + public Map<String, Object> outgoAdjustAll(@RequestParam String params){
  258 + //反转义
  259 + params = StringEscapeUtils.unescapeHtml4(params);
  260 + return scheduleRealInfoService.outgoAdjustAll(params);
  261 + }
  262 +
  263 + /**
  264 + *
  265 + * @Title: findByLineAndUpDown
  266 + * @Description: TODO(根据线路和走向获取班次)
  267 + * @param @param line
  268 + * @param @param upDown
  269 + */
  270 + @RequestMapping(value = "/findByLineAndUpDown")
  271 + public List<ScheduleRealInfo> findByLineAndUpDown(@RequestParam String line,@RequestParam Integer upDown){
  272 + return dayOfSchedule.findByLineAndUpDown(line, upDown);
  273 + }
  274 +
  275 + /**
  276 + *
  277 + * @Title: findRouteByLine
  278 + * @Description: TODO(获取线路的站点,路段路由)
  279 + * @param @param lineCode
  280 + * @throws
  281 + */
  282 + @RequestMapping(value = "/findRouteByLine")
  283 + public Map<String, Object> findRouteByLine(@RequestParam String lineCode){
  284 + return scheduleRealInfoService.findRouteByLine(lineCode);
  285 + }
  286 +
  287 + /**
  288 + *
  289 + * @Title: removeChildTask
  290 + * @Description: TODO(删除子任务)
  291 + * @param @param taskId 子任务ID
  292 + * @throws
  293 + */
  294 + @RequestMapping(value = "/childTask/{taskId}", method = RequestMethod.DELETE)
  295 + public Map<String, Object> removeChildTask(@PathVariable("taskId") Long taskId){
  296 + return scheduleRealInfoService.removeChildTask(taskId);
  297 + }
  298 +
  299 + /**
  300 + *
  301 + * @Title: findByLineCode
  302 + * @Description: TODO(根据线路获取班次信息)
  303 + * @param @param lineCode
  304 + */
  305 + @RequestMapping(value = "/lineCode/{lineCode}")
  306 + public List<ScheduleRealInfo> findByLineCode(@PathVariable("lineCode") String lineCode){
  307 + return dayOfSchedule.findByLineCode(lineCode);
  308 + }
  309 +
  310 + @RequestMapping(value = "/queryUserInfo")
  311 + public List<ScheduleRealInfo> queryUserInfo(@RequestParam String line,
  312 + @RequestParam String date,@RequestParam String state) {
  313 + return scheduleRealInfoService.queryUserInfo(line, date,state);
  314 + }
  315 +
  316 + @RequestMapping(value = "/queryUserInfoPx")
  317 + public List<ScheduleRealInfo> queryUserInfoPx(@RequestParam String line,
  318 + @RequestParam String date,@RequestParam String state,@RequestParam String type) {
  319 + return scheduleRealInfoService.queryUserInfoPx(line, date,state,type);
  320 + }
  321 +
  322 + @RequestMapping(value = "/exportWaybill",method = RequestMethod.GET)
  323 + public List<ScheduleRealInfo> exportWaybill(@RequestParam String jName, @RequestParam String clZbh,
  324 + @RequestParam String lpName,@RequestParam String date,@RequestParam String line) {
  325 + return scheduleRealInfoService.exportWaybill(jName, clZbh, lpName,date,line);
  326 + }
  327 +
  328 + @RequestMapping(value = "/exportWaybillQp",method = RequestMethod.GET)
  329 + public List<ScheduleRealInfo> exportWaybillQp(@RequestParam String clZbh
  330 + ,@RequestParam String date,@RequestParam String line) {
  331 + return scheduleRealInfoService.exportWaybillQp( clZbh, date,line);
  332 + }
  333 +
  334 +
  335 + @RequestMapping(value = "/dailyInfo")
  336 + public List<Map<String, Object>> dailyInfo(@RequestParam String line, @RequestParam String date,@RequestParam String type) {
  337 + return scheduleRealInfoService.dailyInfo(line, date, type);
  338 + }
  339 +
  340 + @RequestMapping(value = "/historyMessage")
  341 + public List<Object[]> historyMessage(@RequestParam String line, @RequestParam String date,
  342 + @RequestParam String code, @RequestParam String type) {
  343 + return scheduleRealInfoService.historyMessage(line, date, code, type);
  344 + }
  345 +
  346 + @RequestMapping(value="/findLine")
  347 + public List<Map<String,String>> findLine(@RequestParam String line){
  348 + return scheduleRealInfoService.findLine(line);
  349 + }
  350 +
  351 + @RequestMapping(value="/findKMBC",method = RequestMethod.GET)
  352 + public Map<String,Object> findKMBC(@RequestParam String jGh,@RequestParam String clZbh,@RequestParam String lpName
  353 + ,@RequestParam String date,@RequestParam String line){
  354 + return scheduleRealInfoService.findKMBC(jGh, clZbh,lpName,date,line);
  355 + }
  356 +
  357 + /**
  358 + * 路单公里统计 (闵行审计专用)
  359 + * @param jGh
  360 + * @param clZbh
  361 + * @param lpName
  362 + * @param date
  363 + * @param line
  364 + * @return
  365 + */
  366 + @RequestMapping(value="/findKMBC_mh_2",method = RequestMethod.GET)
  367 + public Map<String,Object> findKMBC_mh_2(@RequestParam String jGh,@RequestParam String clZbh,@RequestParam String lpName
  368 + ,@RequestParam String date,@RequestParam String line){
  369 + return scheduleRealInfoService.findKMBC_mh_2(jGh, clZbh,lpName,date,line);
  370 + }
  371 +
  372 + @RequestMapping(value="/findKMBCQp",method = RequestMethod.GET)
  373 + public Map<String,Object> findKMBCQp(@RequestParam String clZbh
  374 + ,@RequestParam String date,@RequestParam String line){
  375 + return scheduleRealInfoService.findKMBCQp(clZbh,date,line);
  376 + }
  377 +
  378 + @RequestMapping(value="/findLpName")
  379 + public List<Map<String,String>> findLpName(@RequestParam String lpName){
  380 + return scheduleRealInfoService.findLpName(lpName);
  381 + }
  382 +
  383 + @RequestMapping(value = "/account")
  384 + public List<Map<String,Object>> account(@RequestParam String line, @RequestParam String date,
  385 + @RequestParam String code,@RequestParam String xlName, @RequestParam String type) {
  386 + return scheduleRealInfoService.account(line, date, code, xlName, type);
  387 + }
  388 +
  389 + @RequestMapping(value = "/accountPx")
  390 + public List<Map<String,Object>> accountPx(@RequestParam String line, @RequestParam String date,
  391 + @RequestParam String code,@RequestParam String xlName, @RequestParam String px) {
  392 + return scheduleRealInfoService.accountPx(line, date, code, xlName, px);
  393 + }
  394 +
  395 + @RequestMapping(value = "/correctForm")
  396 + public List<SchEditInfoDto> correctForm(@RequestParam String line, @RequestParam String date,
  397 + @RequestParam String endDate,
  398 + @RequestParam String lpName, @RequestParam String code,
  399 + @RequestParam String type,@RequestParam String changType) {
  400 + return scheduleRealInfoService.correctForm(line, date, endDate, lpName, code, type,changType);
  401 + }
  402 + /**
  403 + * @Title queryListWaybill
  404 + * @Description 查询行车路单列表
  405 + * @param jName 驾驶员名字
  406 + * @param clZbh 车辆自编号(内部编号)
  407 + * @param lpName 路牌
  408 + * @return
  409 + */
  410 + @RequestMapping(value="/queryListWaybill",method = RequestMethod.GET)
  411 + public List<ScheduleRealInfo> queryListWaybill(@RequestParam String jName,@RequestParam String clZbh,@RequestParam String lpName
  412 + ,@RequestParam String date,@RequestParam String line){
  413 + return scheduleRealInfoService.queryListWaybill(jName, clZbh,lpName,date,line);
  414 + }
  415 +
  416 + /**
  417 + * @Title queryListWaybill
  418 + * @Description 查询行车路单列表(闵行审计专用路单)
  419 + * @param jName 驾驶员名字
  420 + * @param clZbh 车辆自编号(内部编号)
  421 + * @param lpName 路牌
  422 + * @return
  423 + */
  424 + @RequestMapping(value="/queryListWaybill_mh_2",method = RequestMethod.GET)
  425 + public List<ScheduleRealInfo> queryListWaybill_mh_2(@RequestParam String jName,@RequestParam String clZbh,@RequestParam String lpName
  426 + ,@RequestParam String date,@RequestParam String line){
  427 + return scheduleRealInfoService.queryListWaybill2(jName, clZbh,lpName,date,line);
  428 + }
  429 +
  430 + @RequestMapping(value="/queryListWaybillQp",method = RequestMethod.GET)
  431 + public List<ScheduleRealInfo> queryListWaybillQp(@RequestParam String clZbh,
  432 + @RequestParam String date,@RequestParam String line){
  433 + return scheduleRealInfoService.queryListWaybillQp(clZbh,date,line);
  434 + }
  435 +
  436 + @RequestMapping(value="/statisticsDaily")
  437 + public List<Map<String,Object>> statisticsDaily(@RequestParam String line, @RequestParam String date,
  438 + @RequestParam String xlName, @RequestParam String type){
  439 + return scheduleRealInfoService.statisticsDaily(line, date, xlName, type);
  440 + }
  441 +
  442 + @RequestMapping(value="/statisticsDaily_mh_2")
  443 + public List<Map<String,Object>> statisticsDaily_mh_2(@RequestParam String line, @RequestParam String date,
  444 + @RequestParam String xlName, @RequestParam String type){
  445 + return scheduleRealInfoService.statisticsDaily_mh_2(line, date, xlName, type);
  446 + }
  447 +
  448 + @RequestMapping(value="/statisticsDailyTj")
  449 + public List<Map<String,Object>> statisticsDailyTj(@RequestParam Map<String, Object> map){
  450 + String gsdm="";
  451 + if(map.get("gsdm")!=null){
  452 + gsdm=map.get("gsdm").toString();
  453 + }
  454 + String fgsdm="";
  455 + if(map.get("fgsdm")!=null){
  456 + fgsdm=map.get("fgsdm").toString();
  457 + }
  458 + String line="";
  459 + if(map.get("line")!=null){
  460 + line=map.get("line").toString();
  461 + }
  462 + String date="";
  463 + if(map.get("date")!=null){
  464 + date=map.get("date").toString();
  465 + }
  466 + String date2="";
  467 + if(map.get("date2")!=null){
  468 + date2=map.get("date2").toString();
  469 + }
  470 + String xlName="";
  471 + if(map.get("xlName")!=null){
  472 + xlName=map.get("xlName").toString();
  473 + }
  474 + String type="";
  475 + if(map.get("type")!=null){
  476 + type=map.get("type").toString();
  477 + }
  478 + String nature="0";
  479 + if(map.get("nature")!=null){
  480 + nature=map.get("nature").toString();
  481 + }
  482 + return scheduleRealInfoService.statisticsDailyTj(gsdm,fgsdm,line, date,date2, xlName, type,nature);
  483 + }
  484 +
  485 + /*
  486 + * 公里修正报表
  487 + */
  488 + @RequestMapping(value="/mileageReportTj")
  489 + public List<Map<String,Object>> mileageReport(@RequestParam Map<String, Object> map){
  490 + String gsdm="";
  491 + if(map.get("gsdm")!=null){
  492 + gsdm=map.get("gsdm").toString();
  493 + }
  494 + String fgsdm="";
  495 + if(map.get("fgsdm")!=null){
  496 + fgsdm=map.get("fgsdm").toString();
  497 + }
  498 + String line="";
  499 + if(map.get("line")!=null){
  500 + line=map.get("line").toString();
  501 + }
  502 + String date="";
  503 + if(map.get("date")!=null){
  504 + date=map.get("date").toString();
  505 + }
  506 + String date2="";
  507 + if(map.get("date2")!=null){
  508 + date2=map.get("date2").toString();
  509 + }
  510 + String xlName="";
  511 + if(map.get("xlName")!=null){
  512 + xlName=map.get("xlName").toString();
  513 + }
  514 + return scheduleRealInfoService.mileageReport(gsdm,fgsdm,line, date,date2);
  515 + }
  516 +
  517 + /*
  518 + * 班次修正报表
  519 + */
  520 + @RequestMapping(value="/scheduleCorrectionReport")
  521 + public List<Map<String,Object>> scheduleCorrectionReport(@RequestParam Map<String, Object> map){
  522 + String gsdm="";
  523 + if(map.get("gsdm")!=null){
  524 + gsdm=map.get("gsdm").toString();
  525 + }
  526 + String fgsdm="";
  527 + if(map.get("fgsdm")!=null){
  528 + fgsdm=map.get("fgsdm").toString();
  529 + }
  530 + String line="";
  531 + if(map.get("line")!=null){
  532 + line=map.get("line").toString();
  533 + }
  534 + String date="";
  535 + if(map.get("date")!=null){
  536 + date=map.get("date").toString();
  537 + }
  538 + String date2="";
  539 + if(map.get("date2")!=null){
  540 + date2=map.get("date2").toString();
  541 + }
  542 + String xlName="";
  543 + if(map.get("xlName")!=null){
  544 + xlName=map.get("xlName").toString();
  545 + }
  546 + return scheduleRealInfoService.scheduleCorrectionReport(gsdm,fgsdm,line, date,date2);
  547 + }
  548 +
  549 + @RequestMapping(value="/MapById",method = RequestMethod.GET)
  550 + public Map<String, Object> MapById(@RequestParam("id") Long id){
  551 + return scheduleRealInfoService.MapById(id);
  552 + }
  553 +
  554 + @RequestMapping(value="/MapByIdQp",method = RequestMethod.GET)
  555 + public Map<String, Object> MapByIdQp(@RequestParam("id") Long id){
  556 + return scheduleRealInfoService.MapByIdQp(id);
  557 + }
  558 +
  559 + /**
  560 + * @Title: scheduleDaily
  561 + * @Description: TODO(调度日报表)
  562 + * @param line 线路
  563 + * @param date 时间
  564 + * @return
  565 + */
  566 + @RequestMapping(value="/scheduleDaily")
  567 + public Map<String,Object> scheduleDaily(@RequestParam String line,@RequestParam String date){
  568 + return scheduleRealInfoService.scheduleDaily(line,date);
  569 + }
  570 +
  571 + @RequestMapping(value="/realScheduleList")
  572 + public List<ScheduleRealInfo> realScheduleList(@RequestParam String line,@RequestParam String date){
  573 + return scheduleRealInfoService.realScheduleList(line,date);
  574 + }
  575 +
  576 + @RequestMapping(value="/realScheduleList_zrw")
  577 + public List<ScheduleRealInfo> realScheduleList_zrw(@RequestParam String line,@RequestParam String date){
  578 + return scheduleRealInfoService.realScheduleList_zrw(line,date);
  579 + }
  580 +
  581 + @RequestMapping(value="/realScheduleList_mh_2")
  582 + public List<ScheduleRealInfo> realScheduleList_mh_2(@RequestParam String line,@RequestParam String date){
  583 + return scheduleRealInfoService.realScheduleList_mh_2(line,date);
  584 + }
  585 +
  586 + @RequestMapping(value="/realScheduleListQp")
  587 + public List<ScheduleRealInfo> realScheduleListQp(@RequestParam String line,@RequestParam String date){
  588 + return scheduleRealInfoService.realScheduleListQp(line,date);
  589 + }
  590 +
  591 + @RequestMapping(value="/multi_tzrc", method=RequestMethod.POST)
  592 + public Map<String, Object> multi_tzrc(@RequestParam String cpcsJson){
  593 + cpcsJson = StringEscapeUtils.unescapeHtml4(cpcsJson);
  594 + List<ChangePersonCar> cpcs = JSONArray.parseArray(cpcsJson, ChangePersonCar.class);
  595 + return scheduleRealInfoService.multi_tzrc(cpcs, null);
  596 + }
  597 +
  598 + @RequestMapping(value="/multi_dftz", method=RequestMethod.POST)
  599 + public Map<String, Object> multi_dftz(@RequestParam String dcsJson){
  600 + dcsJson = StringEscapeUtils.unescapeHtml4(dcsJson);
  601 + List<DfsjChange> dfsjcs = JSONArray.parseArray(dcsJson, DfsjChange.class);
  602 + return scheduleRealInfoService.multi_dftz(dfsjcs);
  603 + }
  604 +
  605 + @RequestMapping(value="/changeBcType/{id}", method=RequestMethod.POST)
  606 + public Map<String, Object> changeBcType(@PathVariable("id") Long id, String bcType, String remarks, String majorStationName){
  607 + return scheduleRealInfoService.changeBcType(id, bcType, remarks, majorStationName);
  608 + }
  609 +
  610 + @RequestMapping(value="/history", method=RequestMethod.POST)
  611 + public Map<String,Object> historySave(ScheduleRealInfo sch){
  612 + return scheduleRealInfoService.historySave(sch);
  613 + }
  614 +
  615 +
  616 + private static DateTimeFormatter fmtyyyyMMdd = DateTimeFormat.forPattern("yyyy-MM-dd");
  617 + private final static long ONE_DAY = 1000 * 60 * 60 * 24;
  618 + /**
  619 + * 获取可编辑的历史班次日期
  620 + * @return
  621 + */
  622 + @RequestMapping("dateArray")
  623 + public List<String> dateArray(@RequestParam(defaultValue = "0") int c){
  624 + List<String> rs = new ArrayList<>();
  625 +
  626 + long t = System.currentTimeMillis();
  627 + if(c != 1)
  628 + t -= (ONE_DAY + (1000 * 60 * 60 * 6));
  629 + for(int i = 0; i < 4; i ++){
  630 + rs.add(fmtyyyyMMdd.print(t));
  631 + t -= ONE_DAY;
  632 + }
  633 + return rs;
  634 + }
  635 +
  636 + @RequestMapping(value = "svgAttr", method = RequestMethod.POST)
  637 + public Map<String, Object> svgAttr(@RequestParam String jsonStr){
  638 + return scheduleRealInfoService.svgAttr(jsonStr);
  639 + }
  640 +
  641 + @RequestMapping(value = "svgAttr", method = RequestMethod.GET)
  642 + public Map<String, Object> findSvgAttr(@RequestParam String idx){
  643 + return scheduleRealInfoService.findSvgAttr(idx);
  644 + }
  645 +
  646 + @RequestMapping(value = "addRemarks", method = RequestMethod.POST)
  647 + public Map<String, Object> addRemarks(@RequestParam Long id, @RequestParam String remarks){
  648 + return scheduleRealInfoService.addRemarks(id, remarks);
  649 + }
  650 +
  651 + @RequestMapping(value = "scheduleDailyQp", method = RequestMethod.GET)
  652 + public List<Map<String, Object>> scheduleDailyQp(@RequestParam String line,@RequestParam String date){
  653 + return scheduleRealInfoService.scheduleDailyQp(line,date);
  654 + }
  655 +
  656 + @RequestMapping(value = "scheduleDailyExport", method = RequestMethod.GET)
  657 + public List<Map<String, Object>> scheduleDailyExport(@RequestParam Map<String, Object> map){
  658 + return scheduleRealInfoService.scheduleDailyExport(map);
  659 + }
  660 +
  661 + @RequestMapping(value = "exportWaybillMore", method = RequestMethod.GET)
  662 + public Map<String, Object> exportWaybillMore(@RequestParam Map<String, Object> map){
  663 + return scheduleRealInfoService.exportWaybillMore(map);
  664 + }
  665 +
  666 + /**
  667 + * 获取当日计划排班 , 从计划表抓取数据
  668 + * @return
  669 + */
  670 + @RequestMapping(value = "currSchedulePlanByLineCode", method = RequestMethod.GET)
  671 + public List<SchedulePlanInfo> currentSchedulePlan(@RequestParam String lineCode){
  672 + return scheduleRealInfoService.currentSchedulePlan(lineCode);
  673 + }
  674 +
  675 + @RequestMapping(value = "lpChangeMulti", method = RequestMethod.POST)
  676 + public Map<String, Object> lpChangeMulti(@RequestParam String leftIdx, @RequestParam String rightIdx,@RequestParam int type){
  677 + return scheduleRealInfoService.lpChangeMulti(leftIdx, rightIdx, type);
  678 + }
  679 +
  680 + /**
  681 + * 删除当日实际排班
  682 + * @return
  683 + */
  684 + @RequestMapping(value = "deleteRealSchedule", method = RequestMethod.POST)
  685 + public Map<String, Object> deleteRealSchedule(@RequestParam String lineCode){
  686 + return dayOfSchedule.deleteRealSchedule(lineCode);
  687 + }
  688 +
  689 + /**
  690 + * 从计划表重新加载当日排班
  691 + * @param lineCode
  692 + * @return
  693 + */
  694 + @RequestMapping(value = "reLoadRealSchedule", method = RequestMethod.POST)
  695 + public Map<String, Object> reLoadRealSchedule(@RequestParam String lineCode){
  696 + Map<String, Object> rs = new HashMap<>();
  697 + List<ScheduleRealInfo> list = dayOfSchedule.findByLineCode(lineCode);
  698 + if(list != null && list.size() > 0){
  699 + rs.put("status", ResponseCode.ERROR);
  700 + rs.put("msg", "失败," + list.get(0).getXlName() + "当日存在实际排班,无法重新加载。");
  701 + return rs;
  702 + }
  703 +
  704 + int code = dayOfSchedule.reloadSch(lineCode);
  705 +
  706 + //重新按公司编码索引数据
  707 + dayOfSchedule.groupByGsbm();
  708 + rs.put("status", code==0? ResponseCode.SUCCESS: ResponseCode.ERROR);
  709 + return rs;
  710 + }
  711 +
  712 + /**
  713 + * 误点调整
  714 + * @param idx
  715 + * @param minute
  716 + * @return
  717 + */
  718 + @RequestMapping(value = "lateAdjust", method = RequestMethod.POST)
  719 + public Map<String, Object> lateAdjust(@RequestParam String idx,@RequestParam float minute ){
  720 + return scheduleRealInfoService.lateAdjust(idx, minute);
  721 + }
  722 +
  723 + /**
  724 + * 获取所有应发未到的班次
  725 + * @param idx
  726 + * @return
  727 + */
  728 + @RequestMapping(value = "allLate2")
  729 + public List<ScheduleRealInfo> allLate2(@RequestParam String idx){
  730 + return scheduleRealInfoService.allLate2(idx);
  731 + }
  732 +
  733 + /**
  734 + * 添加一个临加到历史库
  735 + * @param sch
  736 + * @return
  737 + */
  738 + @RequestMapping(value = "history/add", method = RequestMethod.POST)
  739 + public Map<String, Object> addToHistory(ScheduleRealInfo sch){
  740 + return scheduleRealInfoService.addToHistory(sch);
  741 + }
  742 +
  743 + /**
  744 + * 从历史库里删除临加班次
  745 + * @param sch
  746 + * @return
  747 + */
  748 + @RequestMapping(value = "history/{id}", method = RequestMethod.DELETE)
  749 + public Map<String, Object> deleteToHistory(@PathVariable("id") Long id){
  750 + return scheduleRealInfoService.deleteToHistory(id);
  751 + }
  752 +
  753 + /**
  754 + * 从历史库里删除临加班次
  755 + * @param sch
  756 + * @return
  757 + */
  758 + @RequestMapping(value = "wxsb", method = RequestMethod.POST)
  759 + public Map<String, Object> deleteToHistory(@RequestParam Map<String, Object> param){
  760 + SysUser user = SecurityUtils.getCurrentUser();
  761 + String uname = user.getUserName();
  762 + StringBuilder url = new StringBuilder(ConfigUtil.get("http.report.url"));
  763 + url.append("?nbbm=").append(param.get("nbbm")).append("&bxy=").append(uname).append("&bxbm=").append(param.get("bxType"));
  764 + // 分公司保存格式 分公司编码_公司编码
  765 + String val = BasicData.nbbm2FgsCompanyCodeMap.get(param.get("nbbm"));
  766 + String[] arr = val.split("_");
  767 + if (!"22".equals(arr[1])) {
  768 + Map<String, Object> res = new HashMap<String, Object>();
  769 + res.put("status", ResponseCode.ERROR);
  770 + res.put("msg", "除金高公司外暂未开通此功能");
  771 +
  772 + return res;
  773 + }
  774 + url.append("&fgs=").append(arr[0]);
  775 +
  776 + return request(url.toString());
  777 + }
  778 +
  779 + @SuppressWarnings("unchecked")
  780 + private static Map<String, Object> request(String url) {
  781 + Map<String, Object> res = new HashMap<String, Object>();
  782 + res.put("status", ResponseCode.SUCCESS);
  783 + InputStream in = null;
  784 + HttpURLConnection con = null;
  785 + try {
  786 + con = (HttpURLConnection)new URL(url).openConnection();
  787 + con.setRequestMethod("POST");
  788 + con.setRequestProperty("keep-alive", "true");
  789 + con.setRequestProperty("accept", "application/json");
  790 + con.setRequestProperty("content-type", "application/json");
  791 + con.setDoInput(true);
  792 + con.setReadTimeout(2500);
  793 + con.setConnectTimeout(2500);
  794 +
  795 + con.connect();
  796 + if (con.getResponseCode() == 200) {
  797 + in = con.getInputStream();
  798 + ByteArrayOutputStream bout = new ByteArrayOutputStream();
  799 + IOUtils.copy(in, bout); bout.close();
  800 + Map<String, Object> response = new ObjectMapper().readValue(bout.toByteArray(), Map.class);
  801 + if (!"报修成功".equals(response.get("msg"))) {
  802 + res.put("status", ResponseCode.ERROR);
  803 + res.putAll(response);
  804 + }
  805 + }
  806 + } catch (IOException e) {
  807 + // TODO Auto-generated catch block
  808 + res.put("status", ResponseCode.ERROR);
  809 + res.put("msg", "调用上报接口异常");
  810 + } finally {
  811 + try {
  812 + if (in != null) in.close();
  813 + if (con != null) con.disconnect();
  814 + } catch (IOException e) {
  815 + // TODO Auto-generated catch block
  816 + e.printStackTrace();
  817 + }
  818 + }
  819 +
  820 + return res;
  821 + }
  822 +}
src/main/java/com/bsth/service/realcontrol/ScheduleRealInfoService.java
@@ -21,6 +21,8 @@ public interface ScheduleRealInfoService extends BaseService&lt;ScheduleRealInfo, L @@ -21,6 +21,8 @@ public interface ScheduleRealInfoService extends BaseService&lt;ScheduleRealInfo, L
21 21
22 Map<String, Object> outgoAdjust(Long id, String remarks, String dfsj, String bcType, String opType,String userId); 22 Map<String, Object> outgoAdjust(Long id, String remarks, String dfsj, String bcType, String opType,String userId);
23 23
  24 + Map<String, Object> outgoAdjusttwo(String dfsj);
  25 +
24 Map<String, Object> destroy(String idsStr/*, int spaceAdjust*/, String remarks, String reason/*, int spaceNum*/, String userId); 26 Map<String, Object> destroy(String idsStr/*, int spaceAdjust*/, String remarks, String reason/*, int spaceNum*/, String userId);
25 27
26 List<Map<String, String>> findDriverByLine(String lineCode); 28 List<Map<String, String>> findDriverByLine(String lineCode);
src/main/java/com/bsth/service/realcontrol/impl/ScheduleRealInfoServiceImpl.java
@@ -5,6 +5,7 @@ import com.alibaba.fastjson.JSONArray; @@ -5,6 +5,7 @@ import com.alibaba.fastjson.JSONArray;
5 import com.alibaba.fastjson.JSONObject; 5 import com.alibaba.fastjson.JSONObject;
6 import com.bsth.common.Constants; 6 import com.bsth.common.Constants;
7 import com.bsth.common.ResponseCode; 7 import com.bsth.common.ResponseCode;
  8 +import com.bsth.controller.realcontrol.ScheduleRealInfoController;
8 import com.bsth.controller.realcontrol.dto.ChangePersonCar; 9 import com.bsth.controller.realcontrol.dto.ChangePersonCar;
9 import com.bsth.controller.realcontrol.dto.DfsjChange; 10 import com.bsth.controller.realcontrol.dto.DfsjChange;
10 import com.bsth.controller.realcontrol.dto.LpData; 11 import com.bsth.controller.realcontrol.dto.LpData;
@@ -329,6 +330,18 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf @@ -329,6 +330,18 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf
329 map.put("t", schedule); 330 map.put("t", schedule);
330 return map; 331 return map;
331 } 332 }
  333 + Date date = new Date();
  334 + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
  335 + String year = sdf.format(date);
  336 + String d1 =year+" "+ schedule.getDfsj() ;
  337 + SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd HH:mm");
  338 + String d2 = sd.format(date);
  339 + if(Long.parseLong(dateToStamp(d1)) + ScheduleRealInfoController.dfsj * 1000 * 60 < Long.parseLong(dateToStamp(d2)) ){
  340 + map.put("status", ResponseCode.SUCCESS);
  341 + map.put("flag", "4009");
  342 + map.put("t", schedule);
  343 + return map;
  344 + }
332 345
333 LineConfig config = lineConfigData.get(schedule.getXlBm()); 346 LineConfig config = lineConfigData.get(schedule.getXlBm());
334 //小于线路开始运营时间,则默认跨过24点 347 //小于线路开始运营时间,则默认跨过24点
@@ -403,6 +416,37 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf @@ -403,6 +416,37 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf
403 return map; 416 return map;
404 } 417 }
405 418
  419 +
  420 +
  421 + @Override
  422 + public Map<String, Object> outgoAdjusttwo(String dfsj) {
  423 + Map<String, Object> map = new HashMap<>();
  424 + try {
  425 + Date date = new Date();
  426 + SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd HH:mm");
  427 + String d2 = sd.format(date);
  428 + if(Long.parseLong(dfsj) + ScheduleRealInfoController.dfsj * 1000 * 60 < Long.parseLong(dateToStamp(d2))){
  429 + map.put("status", ResponseCode.SUCCESS);
  430 + map.put("flag", "4009");
  431 + return map;
  432 + }
  433 + }catch (Exception e) {
  434 + logger.error("", e);
  435 + map.put("status", ResponseCode.ERROR);
  436 + }
  437 + return map;
  438 + }
  439 +
  440 + public static String dateToStamp(String s) throws ParseException {
  441 + String res;
  442 + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm");
  443 + Date date = simpleDateFormat.parse(s);
  444 + long ts = date.getTime();
  445 + res = String.valueOf(ts);
  446 + return res;
  447 + }
  448 +
  449 +
406 @Override 450 @Override
407 public Map<String, Object> destroy(String idsStr, String remarks, String reason, String userId) { 451 public Map<String, Object> destroy(String idsStr, String remarks, String reason, String userId) {
408 452
src/main/resources/static/pages/home.html
@@ -59,7 +59,7 @@ @@ -59,7 +59,7 @@
59 } 59 }
60 </style> 60 </style>
61 <div class="system_change_log"> 61 <div class="system_change_log">
62 - <h2 style="text-indent: 35px;margin: 10px 0 5px;">2018-08-23 更新说明 Changelog</h2> 62 + <!--<h2 style="text-indent: 35px;margin: 10px 0 5px;">2018-08-23 更新说明 Changelog</h2>
63 <br><br> 63 <br><br>
64 <ul > 64 <ul >
65 <li class="sub_title"><h6>计划调度</h6></li> 65 <li class="sub_title"><h6>计划调度</h6></li>
@@ -81,4 +81,12 @@ @@ -81,4 +81,12 @@
81 <li><span class="label s_c_change">修复</span>1、车辆设备管理,只有新增,没有修改、作废,启用日期使用保存的时间。</li> 81 <li><span class="label s_c_change">修复</span>1、车辆设备管理,只有新增,没有修改、作废,启用日期使用保存的时间。</li>
82 <li><span class="label s_c_change">修复</span>2、线路相关问题优化(站点缓冲区修改多边形中心点可拖动,可以修改为圆形、修改后定位、线路文件上传可填写版本)。</li> 82 <li><span class="label s_c_change">修复</span>2、线路相关问题优化(站点缓冲区修改多边形中心点可拖动,可以修改为圆形、修改后定位、线路文件上传可填写版本)。</li>
83 </ul> 83 </ul>
  84 +-->
  85 +
  86 + <h2 style="text-indent: 35px;margin: 10px 0 5px;">2020-08-24 更新说明 Changelog</h2>
  87 + <br><br>
  88 + <ul >
  89 + <li class="sub_title"><h6>线调</h6></li>
  90 + <li><span class="label s_c_change">修改</span>1、线调,时间超出待发时候后,锁定待发,禁止修改待发时间。</li>
  91 + </ul>
84 </div> 92 </div>
src/main/resources/static/real_control_v2/assets/plugins/jquery-validation/README.md 0 → 100644
  1 +[jQuery Validation Plugin](http://jqueryvalidation.org/) - Form validation made easy
  2 +================================
  3 +
  4 +[![Build Status](https://secure.travis-ci.org/jzaefferer/jquery-validation.png)](http://travis-ci.org/jzaefferer/jquery-validation)
  5 +[![devDependency Status](https://david-dm.org/jzaefferer/jquery-validation/dev-status.png?theme=shields.io)](https://david-dm.org/jzaefferer/jquery-validation#info=devDependencies)
  6 +
  7 +The jQuery Validation Plugin provides drop-in validation for your existing forms, while making all kinds of customizations to fit your application really easy.
  8 +
  9 +## [Help the project](http://pledgie.com/campaigns/18159)
  10 +
  11 +[![Help the project](http://www.pledgie.com/campaigns/18159.png?skin_name=chrome)](http://pledgie.com/campaigns/18159)
  12 +
  13 +This project is looking for help! [You can donate to the ongoing pledgie campaign](http://pledgie.com/campaigns/18159)
  14 +and help spread the word. If you've used the plugin, or plan to use, consider a donation - any amount will help.
  15 +
  16 +You can find the plan for how to spend the money on the [pledgie page](http://pledgie.com/campaigns/18159).
  17 +
  18 +## Getting Started
  19 +
  20 +### Downloading the prebuilt files
  21 +
  22 +Prebuilt files can be downloaded from http://jqueryvalidation.org/
  23 +
  24 +### Downloading the latest changes
  25 +
  26 +The unreleased development files can be obtained by:
  27 +
  28 + 1. [Downloading](https://github.com/jzaefferer/jquery-validation/archive/master.zip) or Forking this repository
  29 + 2. [Setup the build](CONTRIBUTING.md#build-setup)
  30 + 3. Run `grunt` to create the built files in the "dist" directory
  31 +
  32 +### Including it on your page
  33 +
  34 +Include jQuery and the plugin on a page. Then select a form to validate and call the `validate` method.
  35 +
  36 +```html
  37 +<form>
  38 + <input required>
  39 +</form>
  40 +<script src="jquery.js"></script>
  41 +<script src="jquery.validate.js"></script>
  42 +<script>
  43 +$("form").validate();
  44 +</script>
  45 +```
  46 +
  47 +Alternatively include jQuery and the plugin via requirejs in your module.
  48 +
  49 +```js
  50 +define(["jquery", "jquery.validate"], function( $ ) {
  51 + $("form").validate();
  52 +});
  53 +```
  54 +
  55 +For more information on how to setup a rules and customizations, [check the documentation](http://jqueryvalidation.org/documentation/).
  56 +
  57 +## Reporting issues and contributing code
  58 +
  59 +See the [Contributing Guidelines](CONTRIBUTING.md) for details.
  60 +
  61 +**IMPORTANT NOTE ABOUT EMAIL VALIDATION**. As of version 1.12.0 this plugin is using the same regular expression that the [HTML5 specification suggests for browsers to use](https://html.spec.whatwg.org/multipage/forms.html#valid-e-mail-address). We will follow their lead and use the same check. If you think the specification is wrong, please report the issue to them. If you have different requirements, consider [using a custom method](http://jqueryvalidation.org/jQuery.validator.addMethod/).
  62 +
  63 +## License
  64 +Copyright &copy; Jörn Zaefferer<br>
  65 +Licensed under the MIT license.
src/main/resources/static/real_control_v2/assets/plugins/jquery-validation/js/additional-methods.js 0 → 100644
  1 +/*!
  2 + * jQuery Validation Plugin v1.14.0
  3 + *
  4 + * http://jqueryvalidation.org/
  5 + *
  6 + * Copyright (c) 2015 Jörn Zaefferer
  7 + * Released under the MIT license
  8 + */
  9 +(function( factory ) {
  10 + if ( typeof define === "function" && define.amd ) {
  11 + define( ["jquery", "./jquery.validate"], factory );
  12 + } else {
  13 + factory( jQuery );
  14 + }
  15 +}(function( $ ) {
  16 +
  17 +(function() {
  18 +
  19 + function stripHtml(value) {
  20 + // remove html tags and space chars
  21 + return value.replace(/<.[^<>]*?>/g, " ").replace(/&nbsp;|&#160;/gi, " ")
  22 + // remove punctuation
  23 + .replace(/[.(),;:!?%#$'\"_+=\/\-“”’]*/g, "");
  24 + }
  25 +
  26 + $.validator.addMethod("maxWords", function(value, element, params) {
  27 + return this.optional(element) || stripHtml(value).match(/\b\w+\b/g).length <= params;
  28 + }, $.validator.format("Please enter {0} words or less."));
  29 +
  30 + $.validator.addMethod("minWords", function(value, element, params) {
  31 + return this.optional(element) || stripHtml(value).match(/\b\w+\b/g).length >= params;
  32 + }, $.validator.format("Please enter at least {0} words."));
  33 +
  34 + $.validator.addMethod("rangeWords", function(value, element, params) {
  35 + var valueStripped = stripHtml(value),
  36 + regex = /\b\w+\b/g;
  37 + return this.optional(element) || valueStripped.match(regex).length >= params[0] && valueStripped.match(regex).length <= params[1];
  38 + }, $.validator.format("Please enter between {0} and {1} words."));
  39 + $.validator.addMethod("passwordRule", function(value, element, param) {
  40 + var length = value.length;
  41 + var letter=/^.*[a-zA-Z]+.*$/;
  42 + var num=/^.*[0-9]+.*$/;
  43 + var symbol=/^.*([^a-zA-Z0-9])+.*$/;
  44 + return length>10&& letter.test(value)&& num.test(value)&&symbol.test(value);
  45 + }, $.validator.format("请确保输入的值包含字母、数字、特殊符号"));
  46 +}());
  47 +
  48 +// Accept a value from a file input based on a required mimetype
  49 +$.validator.addMethod("accept", function(value, element, param) {
  50 + // Split mime on commas in case we have multiple types we can accept
  51 + var typeParam = typeof param === "string" ? param.replace(/\s/g, "").replace(/,/g, "|") : "image/*",
  52 + optionalValue = this.optional(element),
  53 + i, file;
  54 +
  55 + // Element is optional
  56 + if (optionalValue) {
  57 + return optionalValue;
  58 + }
  59 +
  60 + if ($(element).attr("type") === "file") {
  61 + // If we are using a wildcard, make it regex friendly
  62 + typeParam = typeParam.replace(/\*/g, ".*");
  63 +
  64 + // Check if the element has a FileList before checking each file
  65 + if (element.files && element.files.length) {
  66 + for (i = 0; i < element.files.length; i++) {
  67 + file = element.files[i];
  68 +
  69 + // Grab the mimetype from the loaded file, verify it matches
  70 + if (!file.type.match(new RegExp( "\\.?(" + typeParam + ")$", "i"))) {
  71 + return false;
  72 + }
  73 + }
  74 + }
  75 + }
  76 +
  77 + // Either return true because we've validated each file, or because the
  78 + // browser does not support element.files and the FileList feature
  79 + return true;
  80 +}, $.validator.format("Please enter a value with a valid mimetype."));
  81 +
  82 +$.validator.addMethod("alphanumeric", function(value, element) {
  83 + return this.optional(element) || /^\w+$/i.test(value);
  84 +}, "Letters, numbers, and underscores only please");
  85 +
  86 +/*
  87 + * Dutch bank account numbers (not 'giro' numbers) have 9 digits
  88 + * and pass the '11 check'.
  89 + * We accept the notation with spaces, as that is common.
  90 + * acceptable: 123456789 or 12 34 56 789
  91 + */
  92 +$.validator.addMethod("bankaccountNL", function(value, element) {
  93 + if (this.optional(element)) {
  94 + return true;
  95 + }
  96 + if (!(/^[0-9]{9}|([0-9]{2} ){3}[0-9]{3}$/.test(value))) {
  97 + return false;
  98 + }
  99 + // now '11 check'
  100 + var account = value.replace(/ /g, ""), // remove spaces
  101 + sum = 0,
  102 + len = account.length,
  103 + pos, factor, digit;
  104 + for ( pos = 0; pos < len; pos++ ) {
  105 + factor = len - pos;
  106 + digit = account.substring(pos, pos + 1);
  107 + sum = sum + factor * digit;
  108 + }
  109 + return sum % 11 === 0;
  110 +}, "Please specify a valid bank account number");
  111 +
  112 +$.validator.addMethod("bankorgiroaccountNL", function(value, element) {
  113 + return this.optional(element) ||
  114 + ($.validator.methods.bankaccountNL.call(this, value, element)) ||
  115 + ($.validator.methods.giroaccountNL.call(this, value, element));
  116 +}, "Please specify a valid bank or giro account number");
  117 +
  118 +/**
  119 + * BIC is the business identifier code (ISO 9362). This BIC check is not a guarantee for authenticity.
  120 + *
  121 + * BIC pattern: BBBBCCLLbbb (8 or 11 characters long; bbb is optional)
  122 + *
  123 + * BIC definition in detail:
  124 + * - First 4 characters - bank code (only letters)
  125 + * - Next 2 characters - ISO 3166-1 alpha-2 country code (only letters)
  126 + * - Next 2 characters - location code (letters and digits)
  127 + * a. shall not start with '0' or '1'
  128 + * b. second character must be a letter ('O' is not allowed) or one of the following digits ('0' for test (therefore not allowed), '1' for passive participant and '2' for active participant)
  129 + * - Last 3 characters - branch code, optional (shall not start with 'X' except in case of 'XXX' for primary office) (letters and digits)
  130 + */
  131 +$.validator.addMethod("bic", function(value, element) {
  132 + return this.optional( element ) || /^([A-Z]{6}[A-Z2-9][A-NP-Z1-2])(X{3}|[A-WY-Z0-9][A-Z0-9]{2})?$/.test( value );
  133 +}, "Please specify a valid BIC code");
  134 +
  135 +/*
  136 + * Código de identificación fiscal ( CIF ) is the tax identification code for Spanish legal entities
  137 + * Further rules can be found in Spanish on http://es.wikipedia.org/wiki/C%C3%B3digo_de_identificaci%C3%B3n_fiscal
  138 + */
  139 +$.validator.addMethod( "cifES", function( value ) {
  140 + "use strict";
  141 +
  142 + var num = [],
  143 + controlDigit, sum, i, count, tmp, secondDigit;
  144 +
  145 + value = value.toUpperCase();
  146 +
  147 + // Quick format test
  148 + if ( !value.match( "((^[A-Z]{1}[0-9]{7}[A-Z0-9]{1}$|^[T]{1}[A-Z0-9]{8}$)|^[0-9]{8}[A-Z]{1}$)" ) ) {
  149 + return false;
  150 + }
  151 +
  152 + for ( i = 0; i < 9; i++ ) {
  153 + num[ i ] = parseInt( value.charAt( i ), 10 );
  154 + }
  155 +
  156 + // Algorithm for checking CIF codes
  157 + sum = num[ 2 ] + num[ 4 ] + num[ 6 ];
  158 + for ( count = 1; count < 8; count += 2 ) {
  159 + tmp = ( 2 * num[ count ] ).toString();
  160 + secondDigit = tmp.charAt( 1 );
  161 +
  162 + sum += parseInt( tmp.charAt( 0 ), 10 ) + ( secondDigit === "" ? 0 : parseInt( secondDigit, 10 ) );
  163 + }
  164 +
  165 + /* The first (position 1) is a letter following the following criteria:
  166 + * A. Corporations
  167 + * B. LLCs
  168 + * C. General partnerships
  169 + * D. Companies limited partnerships
  170 + * E. Communities of goods
  171 + * F. Cooperative Societies
  172 + * G. Associations
  173 + * H. Communities of homeowners in horizontal property regime
  174 + * J. Civil Societies
  175 + * K. Old format
  176 + * L. Old format
  177 + * M. Old format
  178 + * N. Nonresident entities
  179 + * P. Local authorities
  180 + * Q. Autonomous bodies, state or not, and the like, and congregations and religious institutions
  181 + * R. Congregations and religious institutions (since 2008 ORDER EHA/451/2008)
  182 + * S. Organs of State Administration and regions
  183 + * V. Agrarian Transformation
  184 + * W. Permanent establishments of non-resident in Spain
  185 + */
  186 + if ( /^[ABCDEFGHJNPQRSUVW]{1}/.test( value ) ) {
  187 + sum += "";
  188 + controlDigit = 10 - parseInt( sum.charAt( sum.length - 1 ), 10 );
  189 + value += controlDigit;
  190 + return ( num[ 8 ].toString() === String.fromCharCode( 64 + controlDigit ) || num[ 8 ].toString() === value.charAt( value.length - 1 ) );
  191 + }
  192 +
  193 + return false;
  194 +
  195 +}, "Please specify a valid CIF number." );
  196 +
  197 +/*
  198 + * Brazillian CPF number (Cadastrado de Pessoas Físicas) is the equivalent of a Brazilian tax registration number.
  199 + * CPF numbers have 11 digits in total: 9 numbers followed by 2 check numbers that are being used for validation.
  200 + */
  201 +$.validator.addMethod("cpfBR", function(value) {
  202 + // Removing special characters from value
  203 + value = value.replace(/([~!@#$%^&*()_+=`{}\[\]\-|\\:;'<>,.\/? ])+/g, "");
  204 +
  205 + // Checking value to have 11 digits only
  206 + if (value.length !== 11) {
  207 + return false;
  208 + }
  209 +
  210 + var sum = 0,
  211 + firstCN, secondCN, checkResult, i;
  212 +
  213 + firstCN = parseInt(value.substring(9, 10), 10);
  214 + secondCN = parseInt(value.substring(10, 11), 10);
  215 +
  216 + checkResult = function(sum, cn) {
  217 + var result = (sum * 10) % 11;
  218 + if ((result === 10) || (result === 11)) {result = 0;}
  219 + return (result === cn);
  220 + };
  221 +
  222 + // Checking for dump data
  223 + if (value === "" ||
  224 + value === "00000000000" ||
  225 + value === "11111111111" ||
  226 + value === "22222222222" ||
  227 + value === "33333333333" ||
  228 + value === "44444444444" ||
  229 + value === "55555555555" ||
  230 + value === "66666666666" ||
  231 + value === "77777777777" ||
  232 + value === "88888888888" ||
  233 + value === "99999999999"
  234 + ) {
  235 + return false;
  236 + }
  237 +
  238 + // Step 1 - using first Check Number:
  239 + for ( i = 1; i <= 9; i++ ) {
  240 + sum = sum + parseInt(value.substring(i - 1, i), 10) * (11 - i);
  241 + }
  242 +
  243 + // If first Check Number (CN) is valid, move to Step 2 - using second Check Number:
  244 + if ( checkResult(sum, firstCN) ) {
  245 + sum = 0;
  246 + for ( i = 1; i <= 10; i++ ) {
  247 + sum = sum + parseInt(value.substring(i - 1, i), 10) * (12 - i);
  248 + }
  249 + return checkResult(sum, secondCN);
  250 + }
  251 + return false;
  252 +
  253 +}, "Please specify a valid CPF number");
  254 +
  255 +/* NOTICE: Modified version of Castle.Components.Validator.CreditCardValidator
  256 + * Redistributed under the the Apache License 2.0 at http://www.apache.org/licenses/LICENSE-2.0
  257 + * Valid Types: mastercard, visa, amex, dinersclub, enroute, discover, jcb, unknown, all (overrides all other settings)
  258 + */
  259 +$.validator.addMethod("creditcardtypes", function(value, element, param) {
  260 + if (/[^0-9\-]+/.test(value)) {
  261 + return false;
  262 + }
  263 +
  264 + value = value.replace(/\D/g, "");
  265 +
  266 + var validTypes = 0x0000;
  267 +
  268 + if (param.mastercard) {
  269 + validTypes |= 0x0001;
  270 + }
  271 + if (param.visa) {
  272 + validTypes |= 0x0002;
  273 + }
  274 + if (param.amex) {
  275 + validTypes |= 0x0004;
  276 + }
  277 + if (param.dinersclub) {
  278 + validTypes |= 0x0008;
  279 + }
  280 + if (param.enroute) {
  281 + validTypes |= 0x0010;
  282 + }
  283 + if (param.discover) {
  284 + validTypes |= 0x0020;
  285 + }
  286 + if (param.jcb) {
  287 + validTypes |= 0x0040;
  288 + }
  289 + if (param.unknown) {
  290 + validTypes |= 0x0080;
  291 + }
  292 + if (param.all) {
  293 + validTypes = 0x0001 | 0x0002 | 0x0004 | 0x0008 | 0x0010 | 0x0020 | 0x0040 | 0x0080;
  294 + }
  295 + if (validTypes & 0x0001 && /^(5[12345])/.test(value)) { //mastercard
  296 + return value.length === 16;
  297 + }
  298 + if (validTypes & 0x0002 && /^(4)/.test(value)) { //visa
  299 + return value.length === 16;
  300 + }
  301 + if (validTypes & 0x0004 && /^(3[47])/.test(value)) { //amex
  302 + return value.length === 15;
  303 + }
  304 + if (validTypes & 0x0008 && /^(3(0[012345]|[68]))/.test(value)) { //dinersclub
  305 + return value.length === 14;
  306 + }
  307 + if (validTypes & 0x0010 && /^(2(014|149))/.test(value)) { //enroute
  308 + return value.length === 15;
  309 + }
  310 + if (validTypes & 0x0020 && /^(6011)/.test(value)) { //discover
  311 + return value.length === 16;
  312 + }
  313 + if (validTypes & 0x0040 && /^(3)/.test(value)) { //jcb
  314 + return value.length === 16;
  315 + }
  316 + if (validTypes & 0x0040 && /^(2131|1800)/.test(value)) { //jcb
  317 + return value.length === 15;
  318 + }
  319 + if (validTypes & 0x0080) { //unknown
  320 + return true;
  321 + }
  322 + return false;
  323 +}, "Please enter a valid credit card number.");
  324 +
  325 +/**
  326 + * Validates currencies with any given symbols by @jameslouiz
  327 + * Symbols can be optional or required. Symbols required by default
  328 + *
  329 + * Usage examples:
  330 + * currency: ["£", false] - Use false for soft currency validation
  331 + * currency: ["$", false]
  332 + * currency: ["RM", false] - also works with text based symbols such as "RM" - Malaysia Ringgit etc
  333 + *
  334 + * <input class="currencyInput" name="currencyInput">
  335 + *
  336 + * Soft symbol checking
  337 + * currencyInput: {
  338 + * currency: ["$", false]
  339 + * }
  340 + *
  341 + * Strict symbol checking (default)
  342 + * currencyInput: {
  343 + * currency: "$"
  344 + * //OR
  345 + * currency: ["$", true]
  346 + * }
  347 + *
  348 + * Multiple Symbols
  349 + * currencyInput: {
  350 + * currency: "$,£,¢"
  351 + * }
  352 + */
  353 +$.validator.addMethod("currency", function(value, element, param) {
  354 + var isParamString = typeof param === "string",
  355 + symbol = isParamString ? param : param[0],
  356 + soft = isParamString ? true : param[1],
  357 + regex;
  358 +
  359 + symbol = symbol.replace(/,/g, "");
  360 + symbol = soft ? symbol + "]" : symbol + "]?";
  361 + regex = "^[" + symbol + "([1-9]{1}[0-9]{0,2}(\\,[0-9]{3})*(\\.[0-9]{0,2})?|[1-9]{1}[0-9]{0,}(\\.[0-9]{0,2})?|0(\\.[0-9]{0,2})?|(\\.[0-9]{1,2})?)$";
  362 + regex = new RegExp(regex);
  363 + return this.optional(element) || regex.test(value);
  364 +
  365 +}, "Please specify a valid currency");
  366 +
  367 +$.validator.addMethod("dateFA", function(value, element) {
  368 + return this.optional(element) || /^[1-4]\d{3}\/((0?[1-6]\/((3[0-1])|([1-2][0-9])|(0?[1-9])))|((1[0-2]|(0?[7-9]))\/(30|([1-2][0-9])|(0?[1-9]))))$/.test(value);
  369 +}, $.validator.messages.date);
  370 +
  371 +/**
  372 + * Return true, if the value is a valid date, also making this formal check dd/mm/yyyy.
  373 + *
  374 + * @example $.validator.methods.date("01/01/1900")
  375 + * @result true
  376 + *
  377 + * @example $.validator.methods.date("01/13/1990")
  378 + * @result false
  379 + *
  380 + * @example $.validator.methods.date("01.01.1900")
  381 + * @result false
  382 + *
  383 + * @example <input name="pippo" class="{dateITA:true}" />
  384 + * @desc Declares an optional input element whose value must be a valid date.
  385 + *
  386 + * @name $.validator.methods.dateITA
  387 + * @type Boolean
  388 + * @cat Plugins/Validate/Methods
  389 + */
  390 +$.validator.addMethod("dateITA", function(value, element) {
  391 + var check = false,
  392 + re = /^\d{1,2}\/\d{1,2}\/\d{4}$/,
  393 + adata, gg, mm, aaaa, xdata;
  394 + if ( re.test(value)) {
  395 + adata = value.split("/");
  396 + gg = parseInt(adata[0], 10);
  397 + mm = parseInt(adata[1], 10);
  398 + aaaa = parseInt(adata[2], 10);
  399 + xdata = new Date(Date.UTC(aaaa, mm - 1, gg, 12, 0, 0, 0));
  400 + if ( ( xdata.getUTCFullYear() === aaaa ) && ( xdata.getUTCMonth () === mm - 1 ) && ( xdata.getUTCDate() === gg ) ) {
  401 + check = true;
  402 + } else {
  403 + check = false;
  404 + }
  405 + } else {
  406 + check = false;
  407 + }
  408 + return this.optional(element) || check;
  409 +}, $.validator.messages.date);
  410 +
  411 +$.validator.addMethod("dateNL", function(value, element) {
  412 + return this.optional(element) || /^(0?[1-9]|[12]\d|3[01])[\.\/\-](0?[1-9]|1[012])[\.\/\-]([12]\d)?(\d\d)$/.test(value);
  413 +}, $.validator.messages.date);
  414 +
  415 +// Older "accept" file extension method. Old docs: http://docs.jquery.com/Plugins/Validation/Methods/accept
  416 +$.validator.addMethod("extension", function(value, element, param) {
  417 + param = typeof param === "string" ? param.replace(/,/g, "|") : "png|jpe?g|gif";
  418 + return this.optional(element) || value.match(new RegExp("\\.(" + param + ")$", "i"));
  419 +}, $.validator.format("Please enter a value with a valid extension."));
  420 +
  421 +/**
  422 + * Dutch giro account numbers (not bank numbers) have max 7 digits
  423 + */
  424 +$.validator.addMethod("giroaccountNL", function(value, element) {
  425 + return this.optional(element) || /^[0-9]{1,7}$/.test(value);
  426 +}, "Please specify a valid giro account number");
  427 +
  428 +/**
  429 + * IBAN is the international bank account number.
  430 + * It has a country - specific format, that is checked here too
  431 + */
  432 +$.validator.addMethod("iban", function(value, element) {
  433 + // some quick simple tests to prevent needless work
  434 + if (this.optional(element)) {
  435 + return true;
  436 + }
  437 +
  438 + // remove spaces and to upper case
  439 + var iban = value.replace(/ /g, "").toUpperCase(),
  440 + ibancheckdigits = "",
  441 + leadingZeroes = true,
  442 + cRest = "",
  443 + cOperator = "",
  444 + countrycode, ibancheck, charAt, cChar, bbanpattern, bbancountrypatterns, ibanregexp, i, p;
  445 +
  446 + // check the country code and find the country specific format
  447 + countrycode = iban.substring(0, 2);
  448 + bbancountrypatterns = {
  449 + "AL": "\\d{8}[\\dA-Z]{16}",
  450 + "AD": "\\d{8}[\\dA-Z]{12}",
  451 + "AT": "\\d{16}",
  452 + "AZ": "[\\dA-Z]{4}\\d{20}",
  453 + "BE": "\\d{12}",
  454 + "BH": "[A-Z]{4}[\\dA-Z]{14}",
  455 + "BA": "\\d{16}",
  456 + "BR": "\\d{23}[A-Z][\\dA-Z]",
  457 + "BG": "[A-Z]{4}\\d{6}[\\dA-Z]{8}",
  458 + "CR": "\\d{17}",
  459 + "HR": "\\d{17}",
  460 + "CY": "\\d{8}[\\dA-Z]{16}",
  461 + "CZ": "\\d{20}",
  462 + "DK": "\\d{14}",
  463 + "DO": "[A-Z]{4}\\d{20}",
  464 + "EE": "\\d{16}",
  465 + "FO": "\\d{14}",
  466 + "FI": "\\d{14}",
  467 + "FR": "\\d{10}[\\dA-Z]{11}\\d{2}",
  468 + "GE": "[\\dA-Z]{2}\\d{16}",
  469 + "DE": "\\d{18}",
  470 + "GI": "[A-Z]{4}[\\dA-Z]{15}",
  471 + "GR": "\\d{7}[\\dA-Z]{16}",
  472 + "GL": "\\d{14}",
  473 + "GT": "[\\dA-Z]{4}[\\dA-Z]{20}",
  474 + "HU": "\\d{24}",
  475 + "IS": "\\d{22}",
  476 + "IE": "[\\dA-Z]{4}\\d{14}",
  477 + "IL": "\\d{19}",
  478 + "IT": "[A-Z]\\d{10}[\\dA-Z]{12}",
  479 + "KZ": "\\d{3}[\\dA-Z]{13}",
  480 + "KW": "[A-Z]{4}[\\dA-Z]{22}",
  481 + "LV": "[A-Z]{4}[\\dA-Z]{13}",
  482 + "LB": "\\d{4}[\\dA-Z]{20}",
  483 + "LI": "\\d{5}[\\dA-Z]{12}",
  484 + "LT": "\\d{16}",
  485 + "LU": "\\d{3}[\\dA-Z]{13}",
  486 + "MK": "\\d{3}[\\dA-Z]{10}\\d{2}",
  487 + "MT": "[A-Z]{4}\\d{5}[\\dA-Z]{18}",
  488 + "MR": "\\d{23}",
  489 + "MU": "[A-Z]{4}\\d{19}[A-Z]{3}",
  490 + "MC": "\\d{10}[\\dA-Z]{11}\\d{2}",
  491 + "MD": "[\\dA-Z]{2}\\d{18}",
  492 + "ME": "\\d{18}",
  493 + "NL": "[A-Z]{4}\\d{10}",
  494 + "NO": "\\d{11}",
  495 + "PK": "[\\dA-Z]{4}\\d{16}",
  496 + "PS": "[\\dA-Z]{4}\\d{21}",
  497 + "PL": "\\d{24}",
  498 + "PT": "\\d{21}",
  499 + "RO": "[A-Z]{4}[\\dA-Z]{16}",
  500 + "SM": "[A-Z]\\d{10}[\\dA-Z]{12}",
  501 + "SA": "\\d{2}[\\dA-Z]{18}",
  502 + "RS": "\\d{18}",
  503 + "SK": "\\d{20}",
  504 + "SI": "\\d{15}",
  505 + "ES": "\\d{20}",
  506 + "SE": "\\d{20}",
  507 + "CH": "\\d{5}[\\dA-Z]{12}",
  508 + "TN": "\\d{20}",
  509 + "TR": "\\d{5}[\\dA-Z]{17}",
  510 + "AE": "\\d{3}\\d{16}",
  511 + "GB": "[A-Z]{4}\\d{14}",
  512 + "VG": "[\\dA-Z]{4}\\d{16}"
  513 + };
  514 +
  515 + bbanpattern = bbancountrypatterns[countrycode];
  516 + // As new countries will start using IBAN in the
  517 + // future, we only check if the countrycode is known.
  518 + // This prevents false negatives, while almost all
  519 + // false positives introduced by this, will be caught
  520 + // by the checksum validation below anyway.
  521 + // Strict checking should return FALSE for unknown
  522 + // countries.
  523 + if (typeof bbanpattern !== "undefined") {
  524 + ibanregexp = new RegExp("^[A-Z]{2}\\d{2}" + bbanpattern + "$", "");
  525 + if (!(ibanregexp.test(iban))) {
  526 + return false; // invalid country specific format
  527 + }
  528 + }
  529 +
  530 + // now check the checksum, first convert to digits
  531 + ibancheck = iban.substring(4, iban.length) + iban.substring(0, 4);
  532 + for (i = 0; i < ibancheck.length; i++) {
  533 + charAt = ibancheck.charAt(i);
  534 + if (charAt !== "0") {
  535 + leadingZeroes = false;
  536 + }
  537 + if (!leadingZeroes) {
  538 + ibancheckdigits += "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ".indexOf(charAt);
  539 + }
  540 + }
  541 +
  542 + // calculate the result of: ibancheckdigits % 97
  543 + for (p = 0; p < ibancheckdigits.length; p++) {
  544 + cChar = ibancheckdigits.charAt(p);
  545 + cOperator = "" + cRest + "" + cChar;
  546 + cRest = cOperator % 97;
  547 + }
  548 + return cRest === 1;
  549 +}, "Please specify a valid IBAN");
  550 +
  551 +$.validator.addMethod("integer", function(value, element) {
  552 + return this.optional(element) || /^-?\d+$/.test(value);
  553 +}, "A positive or negative non-decimal number please");
  554 +
  555 +$.validator.addMethod("ipv4", function(value, element) {
  556 + return this.optional(element) || /^(25[0-5]|2[0-4]\d|[01]?\d\d?)\.(25[0-5]|2[0-4]\d|[01]?\d\d?)\.(25[0-5]|2[0-4]\d|[01]?\d\d?)\.(25[0-5]|2[0-4]\d|[01]?\d\d?)$/i.test(value);
  557 +}, "Please enter a valid IP v4 address.");
  558 +
  559 +$.validator.addMethod("ipv6", function(value, element) {
  560 + return this.optional(element) || /^((([0-9A-Fa-f]{1,4}:){7}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){6}:[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){5}:([0-9A-Fa-f]{1,4}:)?[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){4}:([0-9A-Fa-f]{1,4}:){0,2}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){3}:([0-9A-Fa-f]{1,4}:){0,3}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){2}:([0-9A-Fa-f]{1,4}:){0,4}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){6}((\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b)\.){3}(\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b))|(([0-9A-Fa-f]{1,4}:){0,5}:((\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b)\.){3}(\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b))|(::([0-9A-Fa-f]{1,4}:){0,5}((\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b)\.){3}(\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b))|([0-9A-Fa-f]{1,4}::([0-9A-Fa-f]{1,4}:){0,5}[0-9A-Fa-f]{1,4})|(::([0-9A-Fa-f]{1,4}:){0,6}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){1,7}:))$/i.test(value);
  561 +}, "Please enter a valid IP v6 address.");
  562 +
  563 +$.validator.addMethod("lettersonly", function(value, element) {
  564 + return this.optional(element) || /^[a-z]+$/i.test(value);
  565 +}, "Letters only please");
  566 +
  567 +$.validator.addMethod("letterswithbasicpunc", function(value, element) {
  568 + return this.optional(element) || /^[a-z\-.,()'"\s]+$/i.test(value);
  569 +}, "Letters or punctuation only please");
  570 +
  571 +$.validator.addMethod("mobileNL", function(value, element) {
  572 + return this.optional(element) || /^((\+|00(\s|\s?\-\s?)?)31(\s|\s?\-\s?)?(\(0\)[\-\s]?)?|0)6((\s|\s?\-\s?)?[0-9]){8}$/.test(value);
  573 +}, "Please specify a valid mobile number");
  574 +
  575 +/* For UK phone functions, do the following server side processing:
  576 + * Compare original input with this RegEx pattern:
  577 + * ^\(?(?:(?:00\)?[\s\-]?\(?|\+)(44)\)?[\s\-]?\(?(?:0\)?[\s\-]?\(?)?|0)([1-9]\d{1,4}\)?[\s\d\-]+)$
  578 + * Extract $1 and set $prefix to '+44<space>' if $1 is '44', otherwise set $prefix to '0'
  579 + * Extract $2 and remove hyphens, spaces and parentheses. Phone number is combined $prefix and $2.
  580 + * A number of very detailed GB telephone number RegEx patterns can also be found at:
  581 + * http://www.aa-asterisk.org.uk/index.php/Regular_Expressions_for_Validating_and_Formatting_GB_Telephone_Numbers
  582 + */
  583 +$.validator.addMethod("mobileUK", function(phone_number, element) {
  584 + phone_number = phone_number.replace(/\(|\)|\s+|-/g, "");
  585 + return this.optional(element) || phone_number.length > 9 &&
  586 + phone_number.match(/^(?:(?:(?:00\s?|\+)44\s?|0)7(?:[1345789]\d{2}|624)\s?\d{3}\s?\d{3})$/);
  587 +}, "Please specify a valid mobile number");
  588 +
  589 +/*
  590 + * The número de identidad de extranjero ( NIE )is a code used to identify the non-nationals in Spain
  591 + */
  592 +$.validator.addMethod( "nieES", function( value ) {
  593 + "use strict";
  594 +
  595 + value = value.toUpperCase();
  596 +
  597 + // Basic format test
  598 + if ( !value.match( "((^[A-Z]{1}[0-9]{7}[A-Z0-9]{1}$|^[T]{1}[A-Z0-9]{8}$)|^[0-9]{8}[A-Z]{1}$)" ) ) {
  599 + return false;
  600 + }
  601 +
  602 + // Test NIE
  603 + //T
  604 + if ( /^[T]{1}/.test( value ) ) {
  605 + return ( value[ 8 ] === /^[T]{1}[A-Z0-9]{8}$/.test( value ) );
  606 + }
  607 +
  608 + //XYZ
  609 + if ( /^[XYZ]{1}/.test( value ) ) {
  610 + return (
  611 + value[ 8 ] === "TRWAGMYFPDXBNJZSQVHLCKE".charAt(
  612 + value.replace( "X", "0" )
  613 + .replace( "Y", "1" )
  614 + .replace( "Z", "2" )
  615 + .substring( 0, 8 ) % 23
  616 + )
  617 + );
  618 + }
  619 +
  620 + return false;
  621 +
  622 +}, "Please specify a valid NIE number." );
  623 +
  624 +/*
  625 + * The Número de Identificación Fiscal ( NIF ) is the way tax identification used in Spain for individuals
  626 + */
  627 +$.validator.addMethod( "nifES", function( value ) {
  628 + "use strict";
  629 +
  630 + value = value.toUpperCase();
  631 +
  632 + // Basic format test
  633 + if ( !value.match("((^[A-Z]{1}[0-9]{7}[A-Z0-9]{1}$|^[T]{1}[A-Z0-9]{8}$)|^[0-9]{8}[A-Z]{1}$)") ) {
  634 + return false;
  635 + }
  636 +
  637 + // Test NIF
  638 + if ( /^[0-9]{8}[A-Z]{1}$/.test( value ) ) {
  639 + return ( "TRWAGMYFPDXBNJZSQVHLCKE".charAt( value.substring( 8, 0 ) % 23 ) === value.charAt( 8 ) );
  640 + }
  641 + // Test specials NIF (starts with K, L or M)
  642 + if ( /^[KLM]{1}/.test( value ) ) {
  643 + return ( value[ 8 ] === String.fromCharCode( 64 ) );
  644 + }
  645 +
  646 + return false;
  647 +
  648 +}, "Please specify a valid NIF number." );
  649 +
  650 +jQuery.validator.addMethod( "notEqualTo", function( value, element, param ) {
  651 + return this.optional(element) || !$.validator.methods.equalTo.call( this, value, element, param );
  652 +}, "Please enter a different value, values must not be the same." );
  653 +
  654 +$.validator.addMethod("nowhitespace", function(value, element) {
  655 + return this.optional(element) || /^\S+$/i.test(value);
  656 +}, "No white space please");
  657 +
  658 +/**
  659 +* Return true if the field value matches the given format RegExp
  660 +*
  661 +* @example $.validator.methods.pattern("AR1004",element,/^AR\d{4}$/)
  662 +* @result true
  663 +*
  664 +* @example $.validator.methods.pattern("BR1004",element,/^AR\d{4}$/)
  665 +* @result false
  666 +*
  667 +* @name $.validator.methods.pattern
  668 +* @type Boolean
  669 +* @cat Plugins/Validate/Methods
  670 +*/
  671 +$.validator.addMethod("pattern", function(value, element, param) {
  672 + if (this.optional(element)) {
  673 + return true;
  674 + }
  675 + if (typeof param === "string") {
  676 + param = new RegExp("^(?:" + param + ")$");
  677 + }
  678 + return param.test(value);
  679 +}, "Invalid format.");
  680 +
  681 +/**
  682 + * Dutch phone numbers have 10 digits (or 11 and start with +31).
  683 + */
  684 +$.validator.addMethod("phoneNL", function(value, element) {
  685 + return this.optional(element) || /^((\+|00(\s|\s?\-\s?)?)31(\s|\s?\-\s?)?(\(0\)[\-\s]?)?|0)[1-9]((\s|\s?\-\s?)?[0-9]){8}$/.test(value);
  686 +}, "Please specify a valid phone number.");
  687 +
  688 +/* For UK phone functions, do the following server side processing:
  689 + * Compare original input with this RegEx pattern:
  690 + * ^\(?(?:(?:00\)?[\s\-]?\(?|\+)(44)\)?[\s\-]?\(?(?:0\)?[\s\-]?\(?)?|0)([1-9]\d{1,4}\)?[\s\d\-]+)$
  691 + * Extract $1 and set $prefix to '+44<space>' if $1 is '44', otherwise set $prefix to '0'
  692 + * Extract $2 and remove hyphens, spaces and parentheses. Phone number is combined $prefix and $2.
  693 + * A number of very detailed GB telephone number RegEx patterns can also be found at:
  694 + * http://www.aa-asterisk.org.uk/index.php/Regular_Expressions_for_Validating_and_Formatting_GB_Telephone_Numbers
  695 + */
  696 +$.validator.addMethod("phoneUK", function(phone_number, element) {
  697 + phone_number = phone_number.replace(/\(|\)|\s+|-/g, "");
  698 + return this.optional(element) || phone_number.length > 9 &&
  699 + phone_number.match(/^(?:(?:(?:00\s?|\+)44\s?)|(?:\(?0))(?:\d{2}\)?\s?\d{4}\s?\d{4}|\d{3}\)?\s?\d{3}\s?\d{3,4}|\d{4}\)?\s?(?:\d{5}|\d{3}\s?\d{3})|\d{5}\)?\s?\d{4,5})$/);
  700 +}, "Please specify a valid phone number");
  701 +
  702 +/**
  703 + * matches US phone number format
  704 + *
  705 + * where the area code may not start with 1 and the prefix may not start with 1
  706 + * allows '-' or ' ' as a separator and allows parens around area code
  707 + * some people may want to put a '1' in front of their number
  708 + *
  709 + * 1(212)-999-2345 or
  710 + * 212 999 2344 or
  711 + * 212-999-0983
  712 + *
  713 + * but not
  714 + * 111-123-5434
  715 + * and not
  716 + * 212 123 4567
  717 + */
  718 +$.validator.addMethod("phoneUS", function(phone_number, element) {
  719 + phone_number = phone_number.replace(/\s+/g, "");
  720 + return this.optional(element) || phone_number.length > 9 &&
  721 + phone_number.match(/^(\+?1-?)?(\([2-9]([02-9]\d|1[02-9])\)|[2-9]([02-9]\d|1[02-9]))-?[2-9]([02-9]\d|1[02-9])-?\d{4}$/);
  722 +}, "Please specify a valid phone number");
  723 +
  724 +/* For UK phone functions, do the following server side processing:
  725 + * Compare original input with this RegEx pattern:
  726 + * ^\(?(?:(?:00\)?[\s\-]?\(?|\+)(44)\)?[\s\-]?\(?(?:0\)?[\s\-]?\(?)?|0)([1-9]\d{1,4}\)?[\s\d\-]+)$
  727 + * Extract $1 and set $prefix to '+44<space>' if $1 is '44', otherwise set $prefix to '0'
  728 + * Extract $2 and remove hyphens, spaces and parentheses. Phone number is combined $prefix and $2.
  729 + * A number of very detailed GB telephone number RegEx patterns can also be found at:
  730 + * http://www.aa-asterisk.org.uk/index.php/Regular_Expressions_for_Validating_and_Formatting_GB_Telephone_Numbers
  731 + */
  732 +//Matches UK landline + mobile, accepting only 01-3 for landline or 07 for mobile to exclude many premium numbers
  733 +$.validator.addMethod("phonesUK", function(phone_number, element) {
  734 + phone_number = phone_number.replace(/\(|\)|\s+|-/g, "");
  735 + return this.optional(element) || phone_number.length > 9 &&
  736 + phone_number.match(/^(?:(?:(?:00\s?|\+)44\s?|0)(?:1\d{8,9}|[23]\d{9}|7(?:[1345789]\d{8}|624\d{6})))$/);
  737 +}, "Please specify a valid uk phone number");
  738 +
  739 +/**
  740 + * Matches a valid Canadian Postal Code
  741 + *
  742 + * @example jQuery.validator.methods.postalCodeCA( "H0H 0H0", element )
  743 + * @result true
  744 + *
  745 + * @example jQuery.validator.methods.postalCodeCA( "H0H0H0", element )
  746 + * @result false
  747 + *
  748 + * @name jQuery.validator.methods.postalCodeCA
  749 + * @type Boolean
  750 + * @cat Plugins/Validate/Methods
  751 + */
  752 +$.validator.addMethod( "postalCodeCA", function( value, element ) {
  753 + return this.optional( element ) || /^[ABCEGHJKLMNPRSTVXY]\d[A-Z] \d[A-Z]\d$/.test( value );
  754 +}, "Please specify a valid postal code" );
  755 +
  756 +/*
  757 +* Valida CEPs do brasileiros:
  758 +*
  759 +* Formatos aceitos:
  760 +* 99999-999
  761 +* 99.999-999
  762 +* 99999999
  763 +*/
  764 +$.validator.addMethod("postalcodeBR", function(cep_value, element) {
  765 + return this.optional(element) || /^\d{2}.\d{3}-\d{3}?$|^\d{5}-?\d{3}?$/.test( cep_value );
  766 +}, "Informe um CEP válido.");
  767 +
  768 +/* Matches Italian postcode (CAP) */
  769 +$.validator.addMethod("postalcodeIT", function(value, element) {
  770 + return this.optional(element) || /^\d{5}$/.test(value);
  771 +}, "Please specify a valid postal code");
  772 +
  773 +$.validator.addMethod("postalcodeNL", function(value, element) {
  774 + return this.optional(element) || /^[1-9][0-9]{3}\s?[a-zA-Z]{2}$/.test(value);
  775 +}, "Please specify a valid postal code");
  776 +
  777 +// Matches UK postcode. Does not match to UK Channel Islands that have their own postcodes (non standard UK)
  778 +$.validator.addMethod("postcodeUK", function(value, element) {
  779 + return this.optional(element) || /^((([A-PR-UWYZ][0-9])|([A-PR-UWYZ][0-9][0-9])|([A-PR-UWYZ][A-HK-Y][0-9])|([A-PR-UWYZ][A-HK-Y][0-9][0-9])|([A-PR-UWYZ][0-9][A-HJKSTUW])|([A-PR-UWYZ][A-HK-Y][0-9][ABEHMNPRVWXY]))\s?([0-9][ABD-HJLNP-UW-Z]{2})|(GIR)\s?(0AA))$/i.test(value);
  780 +}, "Please specify a valid UK postcode");
  781 +
  782 +/*
  783 + * Lets you say "at least X inputs that match selector Y must be filled."
  784 + *
  785 + * The end result is that neither of these inputs:
  786 + *
  787 + * <input class="productinfo" name="partnumber">
  788 + * <input class="productinfo" name="description">
  789 + *
  790 + * ...will validate unless at least one of them is filled.
  791 + *
  792 + * partnumber: {require_from_group: [1,".productinfo"]},
  793 + * description: {require_from_group: [1,".productinfo"]}
  794 + *
  795 + * options[0]: number of fields that must be filled in the group
  796 + * options[1]: CSS selector that defines the group of conditionally required fields
  797 + */
  798 +$.validator.addMethod("require_from_group", function(value, element, options) {
  799 + var $fields = $(options[1], element.form),
  800 + $fieldsFirst = $fields.eq(0),
  801 + validator = $fieldsFirst.data("valid_req_grp") ? $fieldsFirst.data("valid_req_grp") : $.extend({}, this),
  802 + isValid = $fields.filter(function() {
  803 + return validator.elementValue(this);
  804 + }).length >= options[0];
  805 +
  806 + // Store the cloned validator for future validation
  807 + $fieldsFirst.data("valid_req_grp", validator);
  808 +
  809 + // If element isn't being validated, run each require_from_group field's validation rules
  810 + if (!$(element).data("being_validated")) {
  811 + $fields.data("being_validated", true);
  812 + $fields.each(function() {
  813 + validator.element(this);
  814 + });
  815 + $fields.data("being_validated", false);
  816 + }
  817 + return isValid;
  818 +}, $.validator.format("Please fill at least {0} of these fields."));
  819 +
  820 +/*
  821 + * Lets you say "either at least X inputs that match selector Y must be filled,
  822 + * OR they must all be skipped (left blank)."
  823 + *
  824 + * The end result, is that none of these inputs:
  825 + *
  826 + * <input class="productinfo" name="partnumber">
  827 + * <input class="productinfo" name="description">
  828 + * <input class="productinfo" name="color">
  829 + *
  830 + * ...will validate unless either at least two of them are filled,
  831 + * OR none of them are.
  832 + *
  833 + * partnumber: {skip_or_fill_minimum: [2,".productinfo"]},
  834 + * description: {skip_or_fill_minimum: [2,".productinfo"]},
  835 + * color: {skip_or_fill_minimum: [2,".productinfo"]}
  836 + *
  837 + * options[0]: number of fields that must be filled in the group
  838 + * options[1]: CSS selector that defines the group of conditionally required fields
  839 + *
  840 + */
  841 +$.validator.addMethod("skip_or_fill_minimum", function(value, element, options) {
  842 + var $fields = $(options[1], element.form),
  843 + $fieldsFirst = $fields.eq(0),
  844 + validator = $fieldsFirst.data("valid_skip") ? $fieldsFirst.data("valid_skip") : $.extend({}, this),
  845 + numberFilled = $fields.filter(function() {
  846 + return validator.elementValue(this);
  847 + }).length,
  848 + isValid = numberFilled === 0 || numberFilled >= options[0];
  849 +
  850 + // Store the cloned validator for future validation
  851 + $fieldsFirst.data("valid_skip", validator);
  852 +
  853 + // If element isn't being validated, run each skip_or_fill_minimum field's validation rules
  854 + if (!$(element).data("being_validated")) {
  855 + $fields.data("being_validated", true);
  856 + $fields.each(function() {
  857 + validator.element(this);
  858 + });
  859 + $fields.data("being_validated", false);
  860 + }
  861 + return isValid;
  862 +}, $.validator.format("Please either skip these fields or fill at least {0} of them."));
  863 +
  864 +/* Validates US States and/or Territories by @jdforsythe
  865 + * Can be case insensitive or require capitalization - default is case insensitive
  866 + * Can include US Territories or not - default does not
  867 + * Can include US Military postal abbreviations (AA, AE, AP) - default does not
  868 + *
  869 + * Note: "States" always includes DC (District of Colombia)
  870 + *
  871 + * Usage examples:
  872 + *
  873 + * This is the default - case insensitive, no territories, no military zones
  874 + * stateInput: {
  875 + * caseSensitive: false,
  876 + * includeTerritories: false,
  877 + * includeMilitary: false
  878 + * }
  879 + *
  880 + * Only allow capital letters, no territories, no military zones
  881 + * stateInput: {
  882 + * caseSensitive: false
  883 + * }
  884 + *
  885 + * Case insensitive, include territories but not military zones
  886 + * stateInput: {
  887 + * includeTerritories: true
  888 + * }
  889 + *
  890 + * Only allow capital letters, include territories and military zones
  891 + * stateInput: {
  892 + * caseSensitive: true,
  893 + * includeTerritories: true,
  894 + * includeMilitary: true
  895 + * }
  896 + *
  897 + *
  898 + *
  899 + */
  900 +
  901 +$.validator.addMethod("stateUS", function(value, element, options) {
  902 + var isDefault = typeof options === "undefined",
  903 + caseSensitive = ( isDefault || typeof options.caseSensitive === "undefined" ) ? false : options.caseSensitive,
  904 + includeTerritories = ( isDefault || typeof options.includeTerritories === "undefined" ) ? false : options.includeTerritories,
  905 + includeMilitary = ( isDefault || typeof options.includeMilitary === "undefined" ) ? false : options.includeMilitary,
  906 + regex;
  907 +
  908 + if (!includeTerritories && !includeMilitary) {
  909 + regex = "^(A[KLRZ]|C[AOT]|D[CE]|FL|GA|HI|I[ADLN]|K[SY]|LA|M[ADEINOST]|N[CDEHJMVY]|O[HKR]|PA|RI|S[CD]|T[NX]|UT|V[AT]|W[AIVY])$";
  910 + } else if (includeTerritories && includeMilitary) {
  911 + regex = "^(A[AEKLPRSZ]|C[AOT]|D[CE]|FL|G[AU]|HI|I[ADLN]|K[SY]|LA|M[ADEINOPST]|N[CDEHJMVY]|O[HKR]|P[AR]|RI|S[CD]|T[NX]|UT|V[AIT]|W[AIVY])$";
  912 + } else if (includeTerritories) {
  913 + regex = "^(A[KLRSZ]|C[AOT]|D[CE]|FL|G[AU]|HI|I[ADLN]|K[SY]|LA|M[ADEINOPST]|N[CDEHJMVY]|O[HKR]|P[AR]|RI|S[CD]|T[NX]|UT|V[AIT]|W[AIVY])$";
  914 + } else {
  915 + regex = "^(A[AEKLPRZ]|C[AOT]|D[CE]|FL|GA|HI|I[ADLN]|K[SY]|LA|M[ADEINOST]|N[CDEHJMVY]|O[HKR]|PA|RI|S[CD]|T[NX]|UT|V[AT]|W[AIVY])$";
  916 + }
  917 +
  918 + regex = caseSensitive ? new RegExp(regex) : new RegExp(regex, "i");
  919 + return this.optional(element) || regex.test(value);
  920 +},
  921 +"Please specify a valid state");
  922 +
  923 +// TODO check if value starts with <, otherwise don't try stripping anything
  924 +$.validator.addMethod("strippedminlength", function(value, element, param) {
  925 + return $(value).text().length >= param;
  926 +}, $.validator.format("Please enter at least {0} characters"));
  927 +
  928 +$.validator.addMethod("time", function(value, element) {
  929 + return this.optional(element) || /^([01]\d|2[0-3]|[0-9])(:[0-5]\d){1,2}$/.test(value);
  930 +}, "Please enter a valid time, between 00:00 and 23:59");
  931 +
  932 +$.validator.addMethod("time12h", function(value, element) {
  933 + return this.optional(element) || /^((0?[1-9]|1[012])(:[0-5]\d){1,2}(\ ?[AP]M))$/i.test(value);
  934 +}, "Please enter a valid time in 12-hour am/pm format");
  935 +
  936 +// same as url, but TLD is optional
  937 +$.validator.addMethod("url2", function(value, element) {
  938 + return this.optional(element) || /^(https?|ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)*(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i.test(value);
  939 +}, $.validator.messages.url);
  940 +
  941 +/**
  942 + * Return true, if the value is a valid vehicle identification number (VIN).
  943 + *
  944 + * Works with all kind of text inputs.
  945 + *
  946 + * @example <input type="text" size="20" name="VehicleID" class="{required:true,vinUS:true}" />
  947 + * @desc Declares a required input element whose value must be a valid vehicle identification number.
  948 + *
  949 + * @name $.validator.methods.vinUS
  950 + * @type Boolean
  951 + * @cat Plugins/Validate/Methods
  952 + */
  953 +$.validator.addMethod("vinUS", function(v) {
  954 + if (v.length !== 17) {
  955 + return false;
  956 + }
  957 +
  958 + var LL = [ "A", "B", "C", "D", "E", "F", "G", "H", "J", "K", "L", "M", "N", "P", "R", "S", "T", "U", "V", "W", "X", "Y", "Z" ],
  959 + VL = [ 1, 2, 3, 4, 5, 6, 7, 8, 1, 2, 3, 4, 5, 7, 9, 2, 3, 4, 5, 6, 7, 8, 9 ],
  960 + FL = [ 8, 7, 6, 5, 4, 3, 2, 10, 0, 9, 8, 7, 6, 5, 4, 3, 2 ],
  961 + rs = 0,
  962 + i, n, d, f, cd, cdv;
  963 +
  964 + for (i = 0; i < 17; i++) {
  965 + f = FL[i];
  966 + d = v.slice(i, i + 1);
  967 + if (i === 8) {
  968 + cdv = d;
  969 + }
  970 + if (!isNaN(d)) {
  971 + d *= f;
  972 + } else {
  973 + for (n = 0; n < LL.length; n++) {
  974 + if (d.toUpperCase() === LL[n]) {
  975 + d = VL[n];
  976 + d *= f;
  977 + if (isNaN(cdv) && n === 8) {
  978 + cdv = LL[n];
  979 + }
  980 + break;
  981 + }
  982 + }
  983 + }
  984 + rs += d;
  985 + }
  986 + cd = rs % 11;
  987 + if (cd === 10) {
  988 + cd = "X";
  989 + }
  990 + if (cd === cdv) {
  991 + return true;
  992 + }
  993 + return false;
  994 +}, "The specified vehicle identification number (VIN) is invalid.");
  995 +
  996 +$.validator.addMethod("zipcodeUS", function(value, element) {
  997 + return this.optional(element) || /^\d{5}(-\d{4})?$/.test(value);
  998 +}, "The specified US ZIP Code is invalid");
  999 +
  1000 +$.validator.addMethod("ziprange", function(value, element) {
  1001 + return this.optional(element) || /^90[2-5]\d\{2\}-\d{4}$/.test(value);
  1002 +}, "Your ZIP-code must be in the range 902xx-xxxx to 905xx-xxxx");
  1003 +
  1004 +}));
0 \ No newline at end of file 1005 \ No newline at end of file
src/main/resources/static/real_control_v2/assets/plugins/jquery-validation/js/additional-methods.min.js 0 → 100644
  1 +/*! jQuery Validation Plugin - v1.14.0 - 6/30/2015
  2 + * http://jqueryvalidation.org/
  3 + * Copyright (c) 2015 Jörn Zaefferer; Licensed MIT */
  4 +!function(a){"function"==typeof define&&define.amd?define(["jquery","./jquery.validate.min"],a):a(jQuery)}(function(a){!function(){function b(a){return a.replace(/<.[^<>]*?>/g," ").replace(/&nbsp;|&#160;/gi," ").replace(/[.(),;:!?%#$'\"_+=\/\-“”’]*/g,"")}a.validator.addMethod("maxWords",function(a,c,d){return this.optional(c)||b(a).match(/\b\w+\b/g).length<=d},a.validator.format("Please enter {0} words or less.")),a.validator.addMethod("minWords",function(a,c,d){return this.optional(c)||b(a).match(/\b\w+\b/g).length>=d},a.validator.format("Please enter at least {0} words.")),a.validator.addMethod("rangeWords",function(a,c,d){var e=b(a),f=/\b\w+\b/g;return this.optional(c)||e.match(f).length>=d[0]&&e.match(f).length<=d[1]},a.validator.format("Please enter between {0} and {1} words."))}(),a.validator.addMethod("accept",function(b,c,d){var e,f,g="string"==typeof d?d.replace(/\s/g,"").replace(/,/g,"|"):"image/*",h=this.optional(c);if(h)return h;if("file"===a(c).attr("type")&&(g=g.replace(/\*/g,".*"),c.files&&c.files.length))for(e=0;e<c.files.length;e++)if(f=c.files[e],!f.type.match(new RegExp("\\.?("+g+")$","i")))return!1;return!0},a.validator.format("Please enter a value with a valid mimetype.")),a.validator.addMethod("alphanumeric",function(a,b){return this.optional(b)||/^\w+$/i.test(a)},"Letters, numbers, and underscores only please"),a.validator.addMethod("bankaccountNL",function(a,b){if(this.optional(b))return!0;if(!/^[0-9]{9}|([0-9]{2} ){3}[0-9]{3}$/.test(a))return!1;var c,d,e,f=a.replace(/ /g,""),g=0,h=f.length;for(c=0;h>c;c++)d=h-c,e=f.substring(c,c+1),g+=d*e;return g%11===0},"Please specify a valid bank account number"),a.validator.addMethod("bankorgiroaccountNL",function(b,c){return this.optional(c)||a.validator.methods.bankaccountNL.call(this,b,c)||a.validator.methods.giroaccountNL.call(this,b,c)},"Please specify a valid bank or giro account number"),a.validator.addMethod("bic",function(a,b){return this.optional(b)||/^([A-Z]{6}[A-Z2-9][A-NP-Z1-2])(X{3}|[A-WY-Z0-9][A-Z0-9]{2})?$/.test(a)},"Please specify a valid BIC code"),a.validator.addMethod("cifES",function(a){"use strict";var b,c,d,e,f,g,h=[];if(a=a.toUpperCase(),!a.match("((^[A-Z]{1}[0-9]{7}[A-Z0-9]{1}$|^[T]{1}[A-Z0-9]{8}$)|^[0-9]{8}[A-Z]{1}$)"))return!1;for(d=0;9>d;d++)h[d]=parseInt(a.charAt(d),10);for(c=h[2]+h[4]+h[6],e=1;8>e;e+=2)f=(2*h[e]).toString(),g=f.charAt(1),c+=parseInt(f.charAt(0),10)+(""===g?0:parseInt(g,10));return/^[ABCDEFGHJNPQRSUVW]{1}/.test(a)?(c+="",b=10-parseInt(c.charAt(c.length-1),10),a+=b,h[8].toString()===String.fromCharCode(64+b)||h[8].toString()===a.charAt(a.length-1)):!1},"Please specify a valid CIF number."),a.validator.addMethod("cpfBR",function(a){if(a=a.replace(/([~!@#$%^&*()_+=`{}\[\]\-|\\:;'<>,.\/? ])+/g,""),11!==a.length)return!1;var b,c,d,e,f=0;if(b=parseInt(a.substring(9,10),10),c=parseInt(a.substring(10,11),10),d=function(a,b){var c=10*a%11;return(10===c||11===c)&&(c=0),c===b},""===a||"00000000000"===a||"11111111111"===a||"22222222222"===a||"33333333333"===a||"44444444444"===a||"55555555555"===a||"66666666666"===a||"77777777777"===a||"88888888888"===a||"99999999999"===a)return!1;for(e=1;9>=e;e++)f+=parseInt(a.substring(e-1,e),10)*(11-e);if(d(f,b)){for(f=0,e=1;10>=e;e++)f+=parseInt(a.substring(e-1,e),10)*(12-e);return d(f,c)}return!1},"Please specify a valid CPF number"),a.validator.addMethod("creditcardtypes",function(a,b,c){if(/[^0-9\-]+/.test(a))return!1;a=a.replace(/\D/g,"");var d=0;return c.mastercard&&(d|=1),c.visa&&(d|=2),c.amex&&(d|=4),c.dinersclub&&(d|=8),c.enroute&&(d|=16),c.discover&&(d|=32),c.jcb&&(d|=64),c.unknown&&(d|=128),c.all&&(d=255),1&d&&/^(5[12345])/.test(a)?16===a.length:2&d&&/^(4)/.test(a)?16===a.length:4&d&&/^(3[47])/.test(a)?15===a.length:8&d&&/^(3(0[012345]|[68]))/.test(a)?14===a.length:16&d&&/^(2(014|149))/.test(a)?15===a.length:32&d&&/^(6011)/.test(a)?16===a.length:64&d&&/^(3)/.test(a)?16===a.length:64&d&&/^(2131|1800)/.test(a)?15===a.length:128&d?!0:!1},"Please enter a valid credit card number."),a.validator.addMethod("currency",function(a,b,c){var d,e="string"==typeof c,f=e?c:c[0],g=e?!0:c[1];return f=f.replace(/,/g,""),f=g?f+"]":f+"]?",d="^["+f+"([1-9]{1}[0-9]{0,2}(\\,[0-9]{3})*(\\.[0-9]{0,2})?|[1-9]{1}[0-9]{0,}(\\.[0-9]{0,2})?|0(\\.[0-9]{0,2})?|(\\.[0-9]{1,2})?)$",d=new RegExp(d),this.optional(b)||d.test(a)},"Please specify a valid currency"),a.validator.addMethod("dateFA",function(a,b){return this.optional(b)||/^[1-4]\d{3}\/((0?[1-6]\/((3[0-1])|([1-2][0-9])|(0?[1-9])))|((1[0-2]|(0?[7-9]))\/(30|([1-2][0-9])|(0?[1-9]))))$/.test(a)},a.validator.messages.date),a.validator.addMethod("dateITA",function(a,b){var c,d,e,f,g,h=!1,i=/^\d{1,2}\/\d{1,2}\/\d{4}$/;return i.test(a)?(c=a.split("/"),d=parseInt(c[0],10),e=parseInt(c[1],10),f=parseInt(c[2],10),g=new Date(Date.UTC(f,e-1,d,12,0,0,0)),h=g.getUTCFullYear()===f&&g.getUTCMonth()===e-1&&g.getUTCDate()===d?!0:!1):h=!1,this.optional(b)||h},a.validator.messages.date),a.validator.addMethod("dateNL",function(a,b){return this.optional(b)||/^(0?[1-9]|[12]\d|3[01])[\.\/\-](0?[1-9]|1[012])[\.\/\-]([12]\d)?(\d\d)$/.test(a)},a.validator.messages.date),a.validator.addMethod("extension",function(a,b,c){return c="string"==typeof c?c.replace(/,/g,"|"):"png|jpe?g|gif",this.optional(b)||a.match(new RegExp("\\.("+c+")$","i"))},a.validator.format("Please enter a value with a valid extension.")),a.validator.addMethod("giroaccountNL",function(a,b){return this.optional(b)||/^[0-9]{1,7}$/.test(a)},"Please specify a valid giro account number"),a.validator.addMethod("iban",function(a,b){if(this.optional(b))return!0;var c,d,e,f,g,h,i,j,k,l=a.replace(/ /g,"").toUpperCase(),m="",n=!0,o="",p="";if(c=l.substring(0,2),h={AL:"\\d{8}[\\dA-Z]{16}",AD:"\\d{8}[\\dA-Z]{12}",AT:"\\d{16}",AZ:"[\\dA-Z]{4}\\d{20}",BE:"\\d{12}",BH:"[A-Z]{4}[\\dA-Z]{14}",BA:"\\d{16}",BR:"\\d{23}[A-Z][\\dA-Z]",BG:"[A-Z]{4}\\d{6}[\\dA-Z]{8}",CR:"\\d{17}",HR:"\\d{17}",CY:"\\d{8}[\\dA-Z]{16}",CZ:"\\d{20}",DK:"\\d{14}",DO:"[A-Z]{4}\\d{20}",EE:"\\d{16}",FO:"\\d{14}",FI:"\\d{14}",FR:"\\d{10}[\\dA-Z]{11}\\d{2}",GE:"[\\dA-Z]{2}\\d{16}",DE:"\\d{18}",GI:"[A-Z]{4}[\\dA-Z]{15}",GR:"\\d{7}[\\dA-Z]{16}",GL:"\\d{14}",GT:"[\\dA-Z]{4}[\\dA-Z]{20}",HU:"\\d{24}",IS:"\\d{22}",IE:"[\\dA-Z]{4}\\d{14}",IL:"\\d{19}",IT:"[A-Z]\\d{10}[\\dA-Z]{12}",KZ:"\\d{3}[\\dA-Z]{13}",KW:"[A-Z]{4}[\\dA-Z]{22}",LV:"[A-Z]{4}[\\dA-Z]{13}",LB:"\\d{4}[\\dA-Z]{20}",LI:"\\d{5}[\\dA-Z]{12}",LT:"\\d{16}",LU:"\\d{3}[\\dA-Z]{13}",MK:"\\d{3}[\\dA-Z]{10}\\d{2}",MT:"[A-Z]{4}\\d{5}[\\dA-Z]{18}",MR:"\\d{23}",MU:"[A-Z]{4}\\d{19}[A-Z]{3}",MC:"\\d{10}[\\dA-Z]{11}\\d{2}",MD:"[\\dA-Z]{2}\\d{18}",ME:"\\d{18}",NL:"[A-Z]{4}\\d{10}",NO:"\\d{11}",PK:"[\\dA-Z]{4}\\d{16}",PS:"[\\dA-Z]{4}\\d{21}",PL:"\\d{24}",PT:"\\d{21}",RO:"[A-Z]{4}[\\dA-Z]{16}",SM:"[A-Z]\\d{10}[\\dA-Z]{12}",SA:"\\d{2}[\\dA-Z]{18}",RS:"\\d{18}",SK:"\\d{20}",SI:"\\d{15}",ES:"\\d{20}",SE:"\\d{20}",CH:"\\d{5}[\\dA-Z]{12}",TN:"\\d{20}",TR:"\\d{5}[\\dA-Z]{17}",AE:"\\d{3}\\d{16}",GB:"[A-Z]{4}\\d{14}",VG:"[\\dA-Z]{4}\\d{16}"},g=h[c],"undefined"!=typeof g&&(i=new RegExp("^[A-Z]{2}\\d{2}"+g+"$",""),!i.test(l)))return!1;for(d=l.substring(4,l.length)+l.substring(0,4),j=0;j<d.length;j++)e=d.charAt(j),"0"!==e&&(n=!1),n||(m+="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ".indexOf(e));for(k=0;k<m.length;k++)f=m.charAt(k),p=""+o+f,o=p%97;return 1===o},"Please specify a valid IBAN"),a.validator.addMethod("integer",function(a,b){return this.optional(b)||/^-?\d+$/.test(a)},"A positive or negative non-decimal number please"),a.validator.addMethod("ipv4",function(a,b){return this.optional(b)||/^(25[0-5]|2[0-4]\d|[01]?\d\d?)\.(25[0-5]|2[0-4]\d|[01]?\d\d?)\.(25[0-5]|2[0-4]\d|[01]?\d\d?)\.(25[0-5]|2[0-4]\d|[01]?\d\d?)$/i.test(a)},"Please enter a valid IP v4 address."),a.validator.addMethod("ipv6",function(a,b){return this.optional(b)||/^((([0-9A-Fa-f]{1,4}:){7}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){6}:[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){5}:([0-9A-Fa-f]{1,4}:)?[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){4}:([0-9A-Fa-f]{1,4}:){0,2}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){3}:([0-9A-Fa-f]{1,4}:){0,3}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){2}:([0-9A-Fa-f]{1,4}:){0,4}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){6}((\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b)\.){3}(\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b))|(([0-9A-Fa-f]{1,4}:){0,5}:((\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b)\.){3}(\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b))|(::([0-9A-Fa-f]{1,4}:){0,5}((\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b)\.){3}(\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b))|([0-9A-Fa-f]{1,4}::([0-9A-Fa-f]{1,4}:){0,5}[0-9A-Fa-f]{1,4})|(::([0-9A-Fa-f]{1,4}:){0,6}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){1,7}:))$/i.test(a)},"Please enter a valid IP v6 address."),a.validator.addMethod("lettersonly",function(a,b){return this.optional(b)||/^[a-z]+$/i.test(a)},"Letters only please"),a.validator.addMethod("letterswithbasicpunc",function(a,b){return this.optional(b)||/^[a-z\-.,()'"\s]+$/i.test(a)},"Letters or punctuation only please"),a.validator.addMethod("mobileNL",function(a,b){return this.optional(b)||/^((\+|00(\s|\s?\-\s?)?)31(\s|\s?\-\s?)?(\(0\)[\-\s]?)?|0)6((\s|\s?\-\s?)?[0-9]){8}$/.test(a)},"Please specify a valid mobile number"),a.validator.addMethod("mobileUK",function(a,b){return a=a.replace(/\(|\)|\s+|-/g,""),this.optional(b)||a.length>9&&a.match(/^(?:(?:(?:00\s?|\+)44\s?|0)7(?:[1345789]\d{2}|624)\s?\d{3}\s?\d{3})$/)},"Please specify a valid mobile number"),a.validator.addMethod("nieES",function(a){"use strict";return a=a.toUpperCase(),a.match("((^[A-Z]{1}[0-9]{7}[A-Z0-9]{1}$|^[T]{1}[A-Z0-9]{8}$)|^[0-9]{8}[A-Z]{1}$)")?/^[T]{1}/.test(a)?a[8]===/^[T]{1}[A-Z0-9]{8}$/.test(a):/^[XYZ]{1}/.test(a)?a[8]==="TRWAGMYFPDXBNJZSQVHLCKE".charAt(a.replace("X","0").replace("Y","1").replace("Z","2").substring(0,8)%23):!1:!1},"Please specify a valid NIE number."),a.validator.addMethod("nifES",function(a){"use strict";return a=a.toUpperCase(),a.match("((^[A-Z]{1}[0-9]{7}[A-Z0-9]{1}$|^[T]{1}[A-Z0-9]{8}$)|^[0-9]{8}[A-Z]{1}$)")?/^[0-9]{8}[A-Z]{1}$/.test(a)?"TRWAGMYFPDXBNJZSQVHLCKE".charAt(a.substring(8,0)%23)===a.charAt(8):/^[KLM]{1}/.test(a)?a[8]===String.fromCharCode(64):!1:!1},"Please specify a valid NIF number."),jQuery.validator.addMethod("notEqualTo",function(b,c,d){return this.optional(c)||!a.validator.methods.equalTo.call(this,b,c,d)},"Please enter a different value, values must not be the same."),a.validator.addMethod("nowhitespace",function(a,b){return this.optional(b)||/^\S+$/i.test(a)},"No white space please"),a.validator.addMethod("pattern",function(a,b,c){return this.optional(b)?!0:("string"==typeof c&&(c=new RegExp("^(?:"+c+")$")),c.test(a))},"Invalid format."),a.validator.addMethod("phoneNL",function(a,b){return this.optional(b)||/^((\+|00(\s|\s?\-\s?)?)31(\s|\s?\-\s?)?(\(0\)[\-\s]?)?|0)[1-9]((\s|\s?\-\s?)?[0-9]){8}$/.test(a)},"Please specify a valid phone number."),a.validator.addMethod("phoneUK",function(a,b){return a=a.replace(/\(|\)|\s+|-/g,""),this.optional(b)||a.length>9&&a.match(/^(?:(?:(?:00\s?|\+)44\s?)|(?:\(?0))(?:\d{2}\)?\s?\d{4}\s?\d{4}|\d{3}\)?\s?\d{3}\s?\d{3,4}|\d{4}\)?\s?(?:\d{5}|\d{3}\s?\d{3})|\d{5}\)?\s?\d{4,5})$/)},"Please specify a valid phone number"),a.validator.addMethod("phoneUS",function(a,b){return a=a.replace(/\s+/g,""),this.optional(b)||a.length>9&&a.match(/^(\+?1-?)?(\([2-9]([02-9]\d|1[02-9])\)|[2-9]([02-9]\d|1[02-9]))-?[2-9]([02-9]\d|1[02-9])-?\d{4}$/)},"Please specify a valid phone number"),a.validator.addMethod("phonesUK",function(a,b){return a=a.replace(/\(|\)|\s+|-/g,""),this.optional(b)||a.length>9&&a.match(/^(?:(?:(?:00\s?|\+)44\s?|0)(?:1\d{8,9}|[23]\d{9}|7(?:[1345789]\d{8}|624\d{6})))$/)},"Please specify a valid uk phone number"),a.validator.addMethod("postalCodeCA",function(a,b){return this.optional(b)||/^[ABCEGHJKLMNPRSTVXY]\d[A-Z] \d[A-Z]\d$/.test(a)},"Please specify a valid postal code"),a.validator.addMethod("postalcodeBR",function(a,b){return this.optional(b)||/^\d{2}.\d{3}-\d{3}?$|^\d{5}-?\d{3}?$/.test(a)},"Informe um CEP válido."),a.validator.addMethod("postalcodeIT",function(a,b){return this.optional(b)||/^\d{5}$/.test(a)},"Please specify a valid postal code"),a.validator.addMethod("postalcodeNL",function(a,b){return this.optional(b)||/^[1-9][0-9]{3}\s?[a-zA-Z]{2}$/.test(a)},"Please specify a valid postal code"),a.validator.addMethod("postcodeUK",function(a,b){return this.optional(b)||/^((([A-PR-UWYZ][0-9])|([A-PR-UWYZ][0-9][0-9])|([A-PR-UWYZ][A-HK-Y][0-9])|([A-PR-UWYZ][A-HK-Y][0-9][0-9])|([A-PR-UWYZ][0-9][A-HJKSTUW])|([A-PR-UWYZ][A-HK-Y][0-9][ABEHMNPRVWXY]))\s?([0-9][ABD-HJLNP-UW-Z]{2})|(GIR)\s?(0AA))$/i.test(a)},"Please specify a valid UK postcode"),a.validator.addMethod("require_from_group",function(b,c,d){var e=a(d[1],c.form),f=e.eq(0),g=f.data("valid_req_grp")?f.data("valid_req_grp"):a.extend({},this),h=e.filter(function(){return g.elementValue(this)}).length>=d[0];return f.data("valid_req_grp",g),a(c).data("being_validated")||(e.data("being_validated",!0),e.each(function(){g.element(this)}),e.data("being_validated",!1)),h},a.validator.format("Please fill at least {0} of these fields.")),a.validator.addMethod("skip_or_fill_minimum",function(b,c,d){var e=a(d[1],c.form),f=e.eq(0),g=f.data("valid_skip")?f.data("valid_skip"):a.extend({},this),h=e.filter(function(){return g.elementValue(this)}).length,i=0===h||h>=d[0];return f.data("valid_skip",g),a(c).data("being_validated")||(e.data("being_validated",!0),e.each(function(){g.element(this)}),e.data("being_validated",!1)),i},a.validator.format("Please either skip these fields or fill at least {0} of them.")),a.validator.addMethod("stateUS",function(a,b,c){var d,e="undefined"==typeof c,f=e||"undefined"==typeof c.caseSensitive?!1:c.caseSensitive,g=e||"undefined"==typeof c.includeTerritories?!1:c.includeTerritories,h=e||"undefined"==typeof c.includeMilitary?!1:c.includeMilitary;return d=g||h?g&&h?"^(A[AEKLPRSZ]|C[AOT]|D[CE]|FL|G[AU]|HI|I[ADLN]|K[SY]|LA|M[ADEINOPST]|N[CDEHJMVY]|O[HKR]|P[AR]|RI|S[CD]|T[NX]|UT|V[AIT]|W[AIVY])$":g?"^(A[KLRSZ]|C[AOT]|D[CE]|FL|G[AU]|HI|I[ADLN]|K[SY]|LA|M[ADEINOPST]|N[CDEHJMVY]|O[HKR]|P[AR]|RI|S[CD]|T[NX]|UT|V[AIT]|W[AIVY])$":"^(A[AEKLPRZ]|C[AOT]|D[CE]|FL|GA|HI|I[ADLN]|K[SY]|LA|M[ADEINOST]|N[CDEHJMVY]|O[HKR]|PA|RI|S[CD]|T[NX]|UT|V[AT]|W[AIVY])$":"^(A[KLRZ]|C[AOT]|D[CE]|FL|GA|HI|I[ADLN]|K[SY]|LA|M[ADEINOST]|N[CDEHJMVY]|O[HKR]|PA|RI|S[CD]|T[NX]|UT|V[AT]|W[AIVY])$",d=f?new RegExp(d):new RegExp(d,"i"),this.optional(b)||d.test(a)},"Please specify a valid state"),a.validator.addMethod("strippedminlength",function(b,c,d){return a(b).text().length>=d},a.validator.format("Please enter at least {0} characters")),a.validator.addMethod("time",function(a,b){return this.optional(b)||/^([01]\d|2[0-3]|[0-9])(:[0-5]\d){1,2}$/.test(a)},"Please enter a valid time, between 00:00 and 23:59"),a.validator.addMethod("time12h",function(a,b){return this.optional(b)||/^((0?[1-9]|1[012])(:[0-5]\d){1,2}(\ ?[AP]M))$/i.test(a)},"Please enter a valid time in 12-hour am/pm format"),a.validator.addMethod("url2",function(a,b){return this.optional(b)||/^(https?|ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)*(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i.test(a)},a.validator.messages.url),a.validator.addMethod("vinUS",function(a){if(17!==a.length)return!1;var b,c,d,e,f,g,h=["A","B","C","D","E","F","G","H","J","K","L","M","N","P","R","S","T","U","V","W","X","Y","Z"],i=[1,2,3,4,5,6,7,8,1,2,3,4,5,7,9,2,3,4,5,6,7,8,9],j=[8,7,6,5,4,3,2,10,0,9,8,7,6,5,4,3,2],k=0;for(b=0;17>b;b++){if(e=j[b],d=a.slice(b,b+1),8===b&&(g=d),isNaN(d)){for(c=0;c<h.length;c++)if(d.toUpperCase()===h[c]){d=i[c],d*=e,isNaN(g)&&8===c&&(g=h[c]);break}}else d*=e;k+=d}return f=k%11,10===f&&(f="X"),f===g?!0:!1},"The specified vehicle identification number (VIN) is invalid."),a.validator.addMethod("zipcodeUS",function(a,b){return this.optional(b)||/^\d{5}(-\d{4})?$/.test(a)},"The specified US ZIP Code is invalid"),a.validator.addMethod("ziprange",function(a,b){return this.optional(b)||/^90[2-5]\d\{2\}-\d{4}$/.test(a)},"Your ZIP-code must be in the range 902xx-xxxx to 905xx-xxxx")});
0 \ No newline at end of file 5 \ No newline at end of file
src/main/resources/static/real_control_v2/assets/plugins/jquery-validation/js/jquery.validate.js 0 → 100644
  1 +/*!
  2 + * jQuery Validation Plugin v1.14.0
  3 + *
  4 + * http://jqueryvalidation.org/
  5 + *
  6 + * Copyright (c) 2015 Jörn Zaefferer
  7 + * Released under the MIT license
  8 + */
  9 +(function( factory ) {
  10 + if ( typeof define === "function" && define.amd ) {
  11 + define( ["jquery"], factory );
  12 + } else {
  13 + factory( jQuery );
  14 + }
  15 +}(function( $ ) {
  16 +
  17 +$.extend($.fn, {
  18 + // http://jqueryvalidation.org/validate/
  19 + validate: function( options ) {
  20 +
  21 + // if nothing is selected, return nothing; can't chain anyway
  22 + if ( !this.length ) {
  23 + if ( options && options.debug && window.console ) {
  24 + console.warn( "Nothing selected, can't validate, returning nothing." );
  25 + }
  26 + return;
  27 + }
  28 +
  29 + // check if a validator for this form was already created
  30 + var validator = $.data( this[ 0 ], "validator" );
  31 + if ( validator ) {
  32 + return validator;
  33 + }
  34 +
  35 + // Add novalidate tag if HTML5.
  36 + this.attr( "novalidate", "novalidate" );
  37 +
  38 + validator = new $.validator( options, this[ 0 ] );
  39 + $.data( this[ 0 ], "validator", validator );
  40 +
  41 + if ( validator.settings.onsubmit ) {
  42 +
  43 + this.on( "click.validate", ":submit", function( event ) {
  44 + if ( validator.settings.submitHandler ) {
  45 + validator.submitButton = event.target;
  46 + }
  47 +
  48 + // allow suppressing validation by adding a cancel class to the submit button
  49 + if ( $( this ).hasClass( "cancel" ) ) {
  50 + validator.cancelSubmit = true;
  51 + }
  52 +
  53 + // allow suppressing validation by adding the html5 formnovalidate attribute to the submit button
  54 + if ( $( this ).attr( "formnovalidate" ) !== undefined ) {
  55 + validator.cancelSubmit = true;
  56 + }
  57 + });
  58 +
  59 + // validate the form on submit
  60 + this.on( "submit.validate", function( event ) {
  61 + if ( validator.settings.debug ) {
  62 + // prevent form submit to be able to see console output
  63 + event.preventDefault();
  64 + }
  65 + function handle() {
  66 + var hidden, result;
  67 + if ( validator.settings.submitHandler ) {
  68 + if ( validator.submitButton ) {
  69 + // insert a hidden input as a replacement for the missing submit button
  70 + hidden = $( "<input type='hidden'/>" )
  71 + .attr( "name", validator.submitButton.name )
  72 + .val( $( validator.submitButton ).val() )
  73 + .appendTo( validator.currentForm );
  74 + }
  75 + result = validator.settings.submitHandler.call( validator, validator.currentForm, event );
  76 + if ( validator.submitButton ) {
  77 + // and clean up afterwards; thanks to no-block-scope, hidden can be referenced
  78 + hidden.remove();
  79 + }
  80 + if ( result !== undefined ) {
  81 + return result;
  82 + }
  83 + return false;
  84 + }
  85 + return true;
  86 + }
  87 +
  88 + // prevent submit for invalid forms or custom submit handlers
  89 + if ( validator.cancelSubmit ) {
  90 + validator.cancelSubmit = false;
  91 + return handle();
  92 + }
  93 + if ( validator.form() ) {
  94 + if ( validator.pendingRequest ) {
  95 + validator.formSubmitted = true;
  96 + return false;
  97 + }
  98 + return handle();
  99 + } else {
  100 + validator.focusInvalid();
  101 + return false;
  102 + }
  103 + });
  104 + }
  105 +
  106 + return validator;
  107 + },
  108 + // http://jqueryvalidation.org/valid/
  109 + valid: function() {
  110 + var valid, validator, errorList;
  111 +
  112 + if ( $( this[ 0 ] ).is( "form" ) ) {
  113 + valid = this.validate().form();
  114 + } else {
  115 + errorList = [];
  116 + valid = true;
  117 + validator = $( this[ 0 ].form ).validate();
  118 + this.each( function() {
  119 + valid = validator.element( this ) && valid;
  120 + errorList = errorList.concat( validator.errorList );
  121 + });
  122 + validator.errorList = errorList;
  123 + }
  124 + return valid;
  125 + },
  126 +
  127 + // http://jqueryvalidation.org/rules/
  128 + rules: function( command, argument ) {
  129 + var element = this[ 0 ],
  130 + settings, staticRules, existingRules, data, param, filtered;
  131 +
  132 + if ( command ) {
  133 + settings = $.data( element.form, "validator" ).settings;
  134 + staticRules = settings.rules;
  135 + existingRules = $.validator.staticRules( element );
  136 + switch ( command ) {
  137 + case "add":
  138 + $.extend( existingRules, $.validator.normalizeRule( argument ) );
  139 + // remove messages from rules, but allow them to be set separately
  140 + delete existingRules.messages;
  141 + staticRules[ element.name ] = existingRules;
  142 + if ( argument.messages ) {
  143 + settings.messages[ element.name ] = $.extend( settings.messages[ element.name ], argument.messages );
  144 + }
  145 + break;
  146 + case "remove":
  147 + if ( !argument ) {
  148 + delete staticRules[ element.name ];
  149 + return existingRules;
  150 + }
  151 + filtered = {};
  152 + $.each( argument.split( /\s/ ), function( index, method ) {
  153 + filtered[ method ] = existingRules[ method ];
  154 + delete existingRules[ method ];
  155 + if ( method === "required" ) {
  156 + $( element ).removeAttr( "aria-required" );
  157 + }
  158 + });
  159 + return filtered;
  160 + }
  161 + }
  162 +
  163 + data = $.validator.normalizeRules(
  164 + $.extend(
  165 + {},
  166 + $.validator.classRules( element ),
  167 + $.validator.attributeRules( element ),
  168 + $.validator.dataRules( element ),
  169 + $.validator.staticRules( element )
  170 + ), element );
  171 +
  172 + // make sure required is at front
  173 + if ( data.required ) {
  174 + param = data.required;
  175 + delete data.required;
  176 + data = $.extend( { required: param }, data );
  177 + $( element ).attr( "aria-required", "true" );
  178 + }
  179 +
  180 + // make sure remote is at back
  181 + if ( data.remote ) {
  182 + param = data.remote;
  183 + delete data.remote;
  184 + data = $.extend( data, { remote: param });
  185 + }
  186 +
  187 + return data;
  188 + }
  189 +});
  190 +
  191 +// Custom selectors
  192 +$.extend( $.expr[ ":" ], {
  193 + // http://jqueryvalidation.org/blank-selector/
  194 + blank: function( a ) {
  195 + return !$.trim( "" + $( a ).val() );
  196 + },
  197 + // http://jqueryvalidation.org/filled-selector/
  198 + filled: function( a ) {
  199 + return !!$.trim( "" + $( a ).val() );
  200 + },
  201 + // http://jqueryvalidation.org/unchecked-selector/
  202 + unchecked: function( a ) {
  203 + return !$( a ).prop( "checked" );
  204 + }
  205 +});
  206 +
  207 +// constructor for validator
  208 +$.validator = function( options, form ) {
  209 + this.settings = $.extend( true, {}, $.validator.defaults, options );
  210 + this.currentForm = form;
  211 + this.init();
  212 +};
  213 +
  214 +// http://jqueryvalidation.org/jQuery.validator.format/
  215 +$.validator.format = function( source, params ) {
  216 + if ( arguments.length === 1 ) {
  217 + return function() {
  218 + var args = $.makeArray( arguments );
  219 + args.unshift( source );
  220 + return $.validator.format.apply( this, args );
  221 + };
  222 + }
  223 + if ( arguments.length > 2 && params.constructor !== Array ) {
  224 + params = $.makeArray( arguments ).slice( 1 );
  225 + }
  226 + if ( params.constructor !== Array ) {
  227 + params = [ params ];
  228 + }
  229 + $.each( params, function( i, n ) {
  230 + source = source.replace( new RegExp( "\\{" + i + "\\}", "g" ), function() {
  231 + return n;
  232 + });
  233 + });
  234 + return source;
  235 +};
  236 +
  237 +$.extend( $.validator, {
  238 +
  239 + defaults: {
  240 + messages: {},
  241 + groups: {},
  242 + rules: {},
  243 + errorClass: "error",
  244 + validClass: "valid",
  245 + errorElement: "label",
  246 + focusCleanup: false,
  247 + focusInvalid: true,
  248 + errorContainer: $( [] ),
  249 + errorLabelContainer: $( [] ),
  250 + onsubmit: true,
  251 + ignore: ":hidden",
  252 + ignoreTitle: false,
  253 + onfocusin: function( element ) {
  254 + this.lastActive = element;
  255 +
  256 + // Hide error label and remove error class on focus if enabled
  257 + if ( this.settings.focusCleanup ) {
  258 + if ( this.settings.unhighlight ) {
  259 + this.settings.unhighlight.call( this, element, this.settings.errorClass, this.settings.validClass );
  260 + }
  261 + this.hideThese( this.errorsFor( element ) );
  262 + }
  263 + },
  264 + onfocusout: function( element ) {
  265 + if ( !this.checkable( element ) && ( element.name in this.submitted || !this.optional( element ) ) ) {
  266 + this.element( element );
  267 + }
  268 + },
  269 + onkeyup: function( element, event ) {
  270 + // Avoid revalidate the field when pressing one of the following keys
  271 + // Shift => 16
  272 + // Ctrl => 17
  273 + // Alt => 18
  274 + // Caps lock => 20
  275 + // End => 35
  276 + // Home => 36
  277 + // Left arrow => 37
  278 + // Up arrow => 38
  279 + // Right arrow => 39
  280 + // Down arrow => 40
  281 + // Insert => 45
  282 + // Num lock => 144
  283 + // AltGr key => 225
  284 + var excludedKeys = [
  285 + 16, 17, 18, 20, 35, 36, 37,
  286 + 38, 39, 40, 45, 144, 225
  287 + ];
  288 +
  289 + if ( event.which === 9 && this.elementValue( element ) === "" || $.inArray( event.keyCode, excludedKeys ) !== -1 ) {
  290 + return;
  291 + } else if ( element.name in this.submitted || element === this.lastElement ) {
  292 + this.element( element );
  293 + }
  294 + },
  295 + onclick: function( element ) {
  296 + // click on selects, radiobuttons and checkboxes
  297 + if ( element.name in this.submitted ) {
  298 + this.element( element );
  299 +
  300 + // or option elements, check parent select in that case
  301 + } else if ( element.parentNode.name in this.submitted ) {
  302 + this.element( element.parentNode );
  303 + }
  304 + },
  305 + highlight: function( element, errorClass, validClass ) {
  306 + if ( element.type === "radio" ) {
  307 + this.findByName( element.name ).addClass( errorClass ).removeClass( validClass );
  308 + } else {
  309 + $( element ).addClass( errorClass ).removeClass( validClass );
  310 + }
  311 + },
  312 + unhighlight: function( element, errorClass, validClass ) {
  313 + if ( element.type === "radio" ) {
  314 + this.findByName( element.name ).removeClass( errorClass ).addClass( validClass );
  315 + } else {
  316 + $( element ).removeClass( errorClass ).addClass( validClass );
  317 + }
  318 + }
  319 + },
  320 +
  321 + // http://jqueryvalidation.org/jQuery.validator.setDefaults/
  322 + setDefaults: function( settings ) {
  323 + $.extend( $.validator.defaults, settings );
  324 + },
  325 +
  326 + messages: {
  327 + required: "This field is required.",
  328 + remote: "Please fix this field.",
  329 + email: "Please enter a valid email address.",
  330 + url: "Please enter a valid URL.",
  331 + date: "Please enter a valid date.",
  332 + dateISO: "Please enter a valid date ( ISO ).",
  333 + number: "Please enter a valid number.",
  334 + digits: "Please enter only digits.",
  335 + creditcard: "Please enter a valid credit card number.",
  336 + equalTo: "Please enter the same value again.",
  337 + maxlength: $.validator.format( "Please enter no more than {0} characters." ),
  338 + minlength: $.validator.format( "Please enter at least {0} characters." ),
  339 + rangelength: $.validator.format( "Please enter a value between {0} and {1} characters long." ),
  340 + range: $.validator.format( "Please enter a value between {0} and {1}." ),
  341 + max: $.validator.format( "Please enter a value less than or equal to {0}." ),
  342 + min: $.validator.format( "Please enter a value greater than or equal to {0}." )
  343 + },
  344 +
  345 + autoCreateRanges: false,
  346 +
  347 + prototype: {
  348 +
  349 + init: function() {
  350 + this.labelContainer = $( this.settings.errorLabelContainer );
  351 + this.errorContext = this.labelContainer.length && this.labelContainer || $( this.currentForm );
  352 + this.containers = $( this.settings.errorContainer ).add( this.settings.errorLabelContainer );
  353 + this.submitted = {};
  354 + this.valueCache = {};
  355 + this.pendingRequest = 0;
  356 + this.pending = {};
  357 + this.invalid = {};
  358 + this.reset();
  359 +
  360 + var groups = ( this.groups = {} ),
  361 + rules;
  362 + $.each( this.settings.groups, function( key, value ) {
  363 + if ( typeof value === "string" ) {
  364 + value = value.split( /\s/ );
  365 + }
  366 + $.each( value, function( index, name ) {
  367 + groups[ name ] = key;
  368 + });
  369 + });
  370 + rules = this.settings.rules;
  371 + $.each( rules, function( key, value ) {
  372 + rules[ key ] = $.validator.normalizeRule( value );
  373 + });
  374 +
  375 + function delegate( event ) {
  376 + var validator = $.data( this.form, "validator" ),
  377 + eventType = "on" + event.type.replace( /^validate/, "" ),
  378 + settings = validator.settings;
  379 + if ( settings[ eventType ] && !$( this ).is( settings.ignore ) ) {
  380 + settings[ eventType ].call( validator, this, event );
  381 + }
  382 + }
  383 +
  384 + $( this.currentForm )
  385 + .on( "focusin.validate focusout.validate keyup.validate",
  386 + ":text, [type='password'], [type='file'], select, textarea, [type='number'], [type='search'], " +
  387 + "[type='tel'], [type='url'], [type='email'], [type='datetime'], [type='date'], [type='month'], " +
  388 + "[type='week'], [type='time'], [type='datetime-local'], [type='range'], [type='color'], " +
  389 + "[type='radio'], [type='checkbox']", delegate)
  390 + // Support: Chrome, oldIE
  391 + // "select" is provided as event.target when clicking a option
  392 + .on("click.validate", "select, option, [type='radio'], [type='checkbox']", delegate);
  393 +
  394 + if ( this.settings.invalidHandler ) {
  395 + $( this.currentForm ).on( "invalid-form.validate", this.settings.invalidHandler );
  396 + }
  397 +
  398 + // Add aria-required to any Static/Data/Class required fields before first validation
  399 + // Screen readers require this attribute to be present before the initial submission http://www.w3.org/TR/WCAG-TECHS/ARIA2.html
  400 + $( this.currentForm ).find( "[required], [data-rule-required], .required" ).attr( "aria-required", "true" );
  401 + },
  402 +
  403 + // http://jqueryvalidation.org/Validator.form/
  404 + form: function() {
  405 + this.checkForm();
  406 + $.extend( this.submitted, this.errorMap );
  407 + this.invalid = $.extend({}, this.errorMap );
  408 + if ( !this.valid() ) {
  409 + $( this.currentForm ).triggerHandler( "invalid-form", [ this ]);
  410 + }
  411 + this.showErrors();
  412 + return this.valid();
  413 + },
  414 +
  415 + checkForm: function() {
  416 + this.prepareForm();
  417 + for ( var i = 0, elements = ( this.currentElements = this.elements() ); elements[ i ]; i++ ) {
  418 + this.check( elements[ i ] );
  419 + }
  420 + return this.valid();
  421 + },
  422 +
  423 + // http://jqueryvalidation.org/Validator.element/
  424 + element: function( element ) {
  425 + var cleanElement = this.clean( element ),
  426 + checkElement = this.validationTargetFor( cleanElement ),
  427 + result = true;
  428 +
  429 + this.lastElement = checkElement;
  430 +
  431 + if ( checkElement === undefined ) {
  432 + delete this.invalid[ cleanElement.name ];
  433 + } else {
  434 + this.prepareElement( checkElement );
  435 + this.currentElements = $( checkElement );
  436 +
  437 + result = this.check( checkElement ) !== false;
  438 + if ( result ) {
  439 + delete this.invalid[ checkElement.name ];
  440 + } else {
  441 + this.invalid[ checkElement.name ] = true;
  442 + }
  443 + }
  444 + // Add aria-invalid status for screen readers
  445 + $( element ).attr( "aria-invalid", !result );
  446 +
  447 + if ( !this.numberOfInvalids() ) {
  448 + // Hide error containers on last error
  449 + this.toHide = this.toHide.add( this.containers );
  450 + }
  451 + this.showErrors();
  452 + return result;
  453 + },
  454 +
  455 + // http://jqueryvalidation.org/Validator.showErrors/
  456 + showErrors: function( errors ) {
  457 + if ( errors ) {
  458 + // add items to error list and map
  459 + $.extend( this.errorMap, errors );
  460 + this.errorList = [];
  461 + for ( var name in errors ) {
  462 + this.errorList.push({
  463 + message: errors[ name ],
  464 + element: this.findByName( name )[ 0 ]
  465 + });
  466 + }
  467 + // remove items from success list
  468 + this.successList = $.grep( this.successList, function( element ) {
  469 + return !( element.name in errors );
  470 + });
  471 + }
  472 + if ( this.settings.showErrors ) {
  473 + this.settings.showErrors.call( this, this.errorMap, this.errorList );
  474 + } else {
  475 + this.defaultShowErrors();
  476 + }
  477 + },
  478 +
  479 + // http://jqueryvalidation.org/Validator.resetForm/
  480 + resetForm: function() {
  481 + if ( $.fn.resetForm ) {
  482 + $( this.currentForm ).resetForm();
  483 + }
  484 + this.submitted = {};
  485 + this.lastElement = null;
  486 + this.prepareForm();
  487 + this.hideErrors();
  488 + var i, elements = this.elements()
  489 + .removeData( "previousValue" )
  490 + .removeAttr( "aria-invalid" );
  491 +
  492 + if ( this.settings.unhighlight ) {
  493 + for ( i = 0; elements[ i ]; i++ ) {
  494 + this.settings.unhighlight.call( this, elements[ i ],
  495 + this.settings.errorClass, "" );
  496 + }
  497 + } else {
  498 + elements.removeClass( this.settings.errorClass );
  499 + }
  500 + },
  501 +
  502 + numberOfInvalids: function() {
  503 + return this.objectLength( this.invalid );
  504 + },
  505 +
  506 + objectLength: function( obj ) {
  507 + /* jshint unused: false */
  508 + var count = 0,
  509 + i;
  510 + for ( i in obj ) {
  511 + count++;
  512 + }
  513 + return count;
  514 + },
  515 +
  516 + hideErrors: function() {
  517 + this.hideThese( this.toHide );
  518 + },
  519 +
  520 + hideThese: function( errors ) {
  521 + errors.not( this.containers ).text( "" );
  522 + this.addWrapper( errors ).hide();
  523 + },
  524 +
  525 + valid: function() {
  526 + return this.size() === 0;
  527 + },
  528 +
  529 + size: function() {
  530 + return this.errorList.length;
  531 + },
  532 +
  533 + focusInvalid: function() {
  534 + if ( this.settings.focusInvalid ) {
  535 + try {
  536 + $( this.findLastActive() || this.errorList.length && this.errorList[ 0 ].element || [])
  537 + .filter( ":visible" )
  538 + .focus()
  539 + // manually trigger focusin event; without it, focusin handlers isn't called, findLastActive won't have anything to find
  540 + .trigger( "focusin" );
  541 + } catch ( e ) {
  542 + // ignore IE throwing errors when focusing hidden elements
  543 + }
  544 + }
  545 + },
  546 +
  547 + findLastActive: function() {
  548 + var lastActive = this.lastActive;
  549 + return lastActive && $.grep( this.errorList, function( n ) {
  550 + return n.element.name === lastActive.name;
  551 + }).length === 1 && lastActive;
  552 + },
  553 +
  554 + elements: function() {
  555 + var validator = this,
  556 + rulesCache = {};
  557 +
  558 + // select all valid inputs inside the form (no submit or reset buttons)
  559 + return $( this.currentForm )
  560 + .find( "input, select, textarea" )
  561 + .not( ":submit, :reset, :image, :disabled" )
  562 + .not( this.settings.ignore )
  563 + .filter( function() {
  564 + if ( !this.name && validator.settings.debug && window.console ) {
  565 + console.error( "%o has no name assigned", this );
  566 + }
  567 +
  568 + // select only the first element for each name, and only those with rules specified
  569 + if ( this.name in rulesCache || !validator.objectLength( $( this ).rules() ) ) {
  570 + return false;
  571 + }
  572 +
  573 + rulesCache[ this.name ] = true;
  574 + return true;
  575 + });
  576 + },
  577 +
  578 + clean: function( selector ) {
  579 + return $( selector )[ 0 ];
  580 + },
  581 +
  582 + errors: function() {
  583 + var errorClass = this.settings.errorClass.split( " " ).join( "." );
  584 + return $( this.settings.errorElement + "." + errorClass, this.errorContext );
  585 + },
  586 +
  587 + reset: function() {
  588 + this.successList = [];
  589 + this.errorList = [];
  590 + this.errorMap = {};
  591 + this.toShow = $( [] );
  592 + this.toHide = $( [] );
  593 + this.currentElements = $( [] );
  594 + },
  595 +
  596 + prepareForm: function() {
  597 + this.reset();
  598 + this.toHide = this.errors().add( this.containers );
  599 + },
  600 +
  601 + prepareElement: function( element ) {
  602 + this.reset();
  603 + this.toHide = this.errorsFor( element );
  604 + },
  605 +
  606 + elementValue: function( element ) {
  607 + var val,
  608 + $element = $( element ),
  609 + type = element.type;
  610 +
  611 + if ( type === "radio" || type === "checkbox" ) {
  612 + return this.findByName( element.name ).filter(":checked").val();
  613 + } else if ( type === "number" && typeof element.validity !== "undefined" ) {
  614 + return element.validity.badInput ? false : $element.val();
  615 + }
  616 +
  617 + val = $element.val();
  618 + if ( typeof val === "string" ) {
  619 + return val.replace(/\r/g, "" );
  620 + }
  621 + return val;
  622 + },
  623 +
  624 + check: function( element ) {
  625 + element = this.validationTargetFor( this.clean( element ) );
  626 +
  627 + var rules = $( element ).rules(),
  628 + rulesCount = $.map( rules, function( n, i ) {
  629 + return i;
  630 + }).length,
  631 + dependencyMismatch = false,
  632 + val = this.elementValue( element ),
  633 + result, method, rule;
  634 +
  635 + for ( method in rules ) {
  636 + rule = { method: method, parameters: rules[ method ] };
  637 + try {
  638 +
  639 + result = $.validator.methods[ method ].call( this, val, element, rule.parameters );
  640 +
  641 + // if a method indicates that the field is optional and therefore valid,
  642 + // don't mark it as valid when there are no other rules
  643 + if ( result === "dependency-mismatch" && rulesCount === 1 ) {
  644 + dependencyMismatch = true;
  645 + continue;
  646 + }
  647 + dependencyMismatch = false;
  648 +
  649 + if ( result === "pending" ) {
  650 + this.toHide = this.toHide.not( this.errorsFor( element ) );
  651 + return;
  652 + }
  653 +
  654 + if ( !result ) {
  655 + this.formatAndAdd( element, rule );
  656 + return false;
  657 + }
  658 + } catch ( e ) {
  659 + if ( this.settings.debug && window.console ) {
  660 + console.log( "Exception occurred when checking element " + element.id + ", check the '" + rule.method + "' method.", e );
  661 + }
  662 + if ( e instanceof TypeError ) {
  663 + e.message += ". Exception occurred when checking element " + element.id + ", check the '" + rule.method + "' method.";
  664 + }
  665 +
  666 + throw e;
  667 + }
  668 + }
  669 + if ( dependencyMismatch ) {
  670 + return;
  671 + }
  672 + if ( this.objectLength( rules ) ) {
  673 + this.successList.push( element );
  674 + }
  675 + return true;
  676 + },
  677 +
  678 + // return the custom message for the given element and validation method
  679 + // specified in the element's HTML5 data attribute
  680 + // return the generic message if present and no method specific message is present
  681 + customDataMessage: function( element, method ) {
  682 + return $( element ).data( "msg" + method.charAt( 0 ).toUpperCase() +
  683 + method.substring( 1 ).toLowerCase() ) || $( element ).data( "msg" );
  684 + },
  685 +
  686 + // return the custom message for the given element name and validation method
  687 + customMessage: function( name, method ) {
  688 + var m = this.settings.messages[ name ];
  689 + return m && ( m.constructor === String ? m : m[ method ]);
  690 + },
  691 +
  692 + // return the first defined argument, allowing empty strings
  693 + findDefined: function() {
  694 + for ( var i = 0; i < arguments.length; i++) {
  695 + if ( arguments[ i ] !== undefined ) {
  696 + return arguments[ i ];
  697 + }
  698 + }
  699 + return undefined;
  700 + },
  701 +
  702 + defaultMessage: function( element, method ) {
  703 + return this.findDefined(
  704 + this.customMessage( element.name, method ),
  705 + this.customDataMessage( element, method ),
  706 + // title is never undefined, so handle empty string as undefined
  707 + !this.settings.ignoreTitle && element.title || undefined,
  708 + $.validator.messages[ method ],
  709 + "<strong>Warning: No message defined for " + element.name + "</strong>"
  710 + );
  711 + },
  712 +
  713 + formatAndAdd: function( element, rule ) {
  714 + var message = this.defaultMessage( element, rule.method ),
  715 + theregex = /\$?\{(\d+)\}/g;
  716 + if ( typeof message === "function" ) {
  717 + message = message.call( this, rule.parameters, element );
  718 + } else if ( theregex.test( message ) ) {
  719 + message = $.validator.format( message.replace( theregex, "{$1}" ), rule.parameters );
  720 + }
  721 + this.errorList.push({
  722 + message: message,
  723 + element: element,
  724 + method: rule.method
  725 + });
  726 +
  727 + this.errorMap[ element.name ] = message;
  728 + this.submitted[ element.name ] = message;
  729 + },
  730 +
  731 + addWrapper: function( toToggle ) {
  732 + if ( this.settings.wrapper ) {
  733 + toToggle = toToggle.add( toToggle.parent( this.settings.wrapper ) );
  734 + }
  735 + return toToggle;
  736 + },
  737 +
  738 + defaultShowErrors: function() {
  739 + var i, elements, error;
  740 + for ( i = 0; this.errorList[ i ]; i++ ) {
  741 + error = this.errorList[ i ];
  742 + if ( this.settings.highlight ) {
  743 + this.settings.highlight.call( this, error.element, this.settings.errorClass, this.settings.validClass );
  744 + }
  745 + this.showLabel( error.element, error.message );
  746 + }
  747 + if ( this.errorList.length ) {
  748 + this.toShow = this.toShow.add( this.containers );
  749 + }
  750 + if ( this.settings.success ) {
  751 + for ( i = 0; this.successList[ i ]; i++ ) {
  752 + this.showLabel( this.successList[ i ] );
  753 + }
  754 + }
  755 + if ( this.settings.unhighlight ) {
  756 + for ( i = 0, elements = this.validElements(); elements[ i ]; i++ ) {
  757 + this.settings.unhighlight.call( this, elements[ i ], this.settings.errorClass, this.settings.validClass );
  758 + }
  759 + }
  760 + this.toHide = this.toHide.not( this.toShow );
  761 + this.hideErrors();
  762 + this.addWrapper( this.toShow ).show();
  763 + },
  764 +
  765 + validElements: function() {
  766 + return this.currentElements.not( this.invalidElements() );
  767 + },
  768 +
  769 + invalidElements: function() {
  770 + return $( this.errorList ).map(function() {
  771 + return this.element;
  772 + });
  773 + },
  774 +
  775 + showLabel: function( element, message ) {
  776 + var place, group, errorID,
  777 + error = this.errorsFor( element ),
  778 + elementID = this.idOrName( element ),
  779 + describedBy = $( element ).attr( "aria-describedby" );
  780 + if ( error.length ) {
  781 + // refresh error/success class
  782 + error.removeClass( this.settings.validClass ).addClass( this.settings.errorClass );
  783 + // replace message on existing label
  784 + error.html( message );
  785 + } else {
  786 + // create error element
  787 + error = $( "<" + this.settings.errorElement + ">" )
  788 + .attr( "id", elementID + "-error" )
  789 + .addClass( this.settings.errorClass )
  790 + .html( message || "" );
  791 +
  792 + // Maintain reference to the element to be placed into the DOM
  793 + place = error;
  794 + if ( this.settings.wrapper ) {
  795 + // make sure the element is visible, even in IE
  796 + // actually showing the wrapped element is handled elsewhere
  797 + place = error.hide().show().wrap( "<" + this.settings.wrapper + "/>" ).parent();
  798 + }
  799 + if ( this.labelContainer.length ) {
  800 + this.labelContainer.append( place );
  801 + } else if ( this.settings.errorPlacement ) {
  802 + this.settings.errorPlacement( place, $( element ) );
  803 + } else {
  804 + place.insertAfter( element );
  805 + }
  806 +
  807 + // Link error back to the element
  808 + if ( error.is( "label" ) ) {
  809 + // If the error is a label, then associate using 'for'
  810 + error.attr( "for", elementID );
  811 + } else if ( error.parents( "label[for='" + elementID + "']" ).length === 0 ) {
  812 + // If the element is not a child of an associated label, then it's necessary
  813 + // to explicitly apply aria-describedby
  814 +
  815 + errorID = error.attr( "id" ).replace( /(:|\.|\[|\]|\$)/g, "\\$1");
  816 + // Respect existing non-error aria-describedby
  817 + if ( !describedBy ) {
  818 + describedBy = errorID;
  819 + } else if ( !describedBy.match( new RegExp( "\\b" + errorID + "\\b" ) ) ) {
  820 + // Add to end of list if not already present
  821 + describedBy += " " + errorID;
  822 + }
  823 + $( element ).attr( "aria-describedby", describedBy );
  824 +
  825 + // If this element is grouped, then assign to all elements in the same group
  826 + group = this.groups[ element.name ];
  827 + if ( group ) {
  828 + $.each( this.groups, function( name, testgroup ) {
  829 + if ( testgroup === group ) {
  830 + $( "[name='" + name + "']", this.currentForm )
  831 + .attr( "aria-describedby", error.attr( "id" ) );
  832 + }
  833 + });
  834 + }
  835 + }
  836 + }
  837 + if ( !message && this.settings.success ) {
  838 + error.text( "" );
  839 + if ( typeof this.settings.success === "string" ) {
  840 + error.addClass( this.settings.success );
  841 + } else {
  842 + this.settings.success( error, element );
  843 + }
  844 + }
  845 + this.toShow = this.toShow.add( error );
  846 + },
  847 +
  848 + errorsFor: function( element ) {
  849 + var name = this.idOrName( element ),
  850 + describer = $( element ).attr( "aria-describedby" ),
  851 + selector = "label[for='" + name + "'], label[for='" + name + "'] *";
  852 +
  853 + // aria-describedby should directly reference the error element
  854 + if ( describer ) {
  855 + selector = selector + ", #" + describer.replace( /\s+/g, ", #" );
  856 + }
  857 + return this
  858 + .errors()
  859 + .filter( selector );
  860 + },
  861 +
  862 + idOrName: function( element ) {
  863 + return this.groups[ element.name ] || ( this.checkable( element ) ? element.name : element.id || element.name );
  864 + },
  865 +
  866 + validationTargetFor: function( element ) {
  867 +
  868 + // If radio/checkbox, validate first element in group instead
  869 + if ( this.checkable( element ) ) {
  870 + element = this.findByName( element.name );
  871 + }
  872 +
  873 + // Always apply ignore filter
  874 + return $( element ).not( this.settings.ignore )[ 0 ];
  875 + },
  876 +
  877 + checkable: function( element ) {
  878 + return ( /radio|checkbox/i ).test( element.type );
  879 + },
  880 +
  881 + findByName: function( name ) {
  882 + return $( this.currentForm ).find( "[name='" + name + "']" );
  883 + },
  884 +
  885 + getLength: function( value, element ) {
  886 + switch ( element.nodeName.toLowerCase() ) {
  887 + case "select":
  888 + return $( "option:selected", element ).length;
  889 + case "input":
  890 + if ( this.checkable( element ) ) {
  891 + return this.findByName( element.name ).filter( ":checked" ).length;
  892 + }
  893 + }
  894 + return value.length;
  895 + },
  896 +
  897 + depend: function( param, element ) {
  898 + return this.dependTypes[typeof param] ? this.dependTypes[typeof param]( param, element ) : true;
  899 + },
  900 +
  901 + dependTypes: {
  902 + "boolean": function( param ) {
  903 + return param;
  904 + },
  905 + "string": function( param, element ) {
  906 + return !!$( param, element.form ).length;
  907 + },
  908 + "function": function( param, element ) {
  909 + return param( element );
  910 + }
  911 + },
  912 +
  913 + optional: function( element ) {
  914 + var val = this.elementValue( element );
  915 + return !$.validator.methods.required.call( this, val, element ) && "dependency-mismatch";
  916 + },
  917 +
  918 + startRequest: function( element ) {
  919 + if ( !this.pending[ element.name ] ) {
  920 + this.pendingRequest++;
  921 + this.pending[ element.name ] = true;
  922 + }
  923 + },
  924 +
  925 + stopRequest: function( element, valid ) {
  926 + this.pendingRequest--;
  927 + // sometimes synchronization fails, make sure pendingRequest is never < 0
  928 + if ( this.pendingRequest < 0 ) {
  929 + this.pendingRequest = 0;
  930 + }
  931 + delete this.pending[ element.name ];
  932 + if ( valid && this.pendingRequest === 0 && this.formSubmitted && this.form() ) {
  933 + $( this.currentForm ).submit();
  934 + this.formSubmitted = false;
  935 + } else if (!valid && this.pendingRequest === 0 && this.formSubmitted ) {
  936 + $( this.currentForm ).triggerHandler( "invalid-form", [ this ]);
  937 + this.formSubmitted = false;
  938 + }
  939 + },
  940 +
  941 + previousValue: function( element ) {
  942 + return $.data( element, "previousValue" ) || $.data( element, "previousValue", {
  943 + old: null,
  944 + valid: true,
  945 + message: this.defaultMessage( element, "remote" )
  946 + });
  947 + },
  948 +
  949 + // cleans up all forms and elements, removes validator-specific events
  950 + destroy: function() {
  951 + this.resetForm();
  952 +
  953 + $( this.currentForm )
  954 + .off( ".validate" )
  955 + .removeData( "validator" );
  956 + }
  957 +
  958 + },
  959 +
  960 + classRuleSettings: {
  961 + required: { required: true },
  962 + email: { email: true },
  963 + url: { url: true },
  964 + date: { date: true },
  965 + dateISO: { dateISO: true },
  966 + number: { number: true },
  967 + digits: { digits: true },
  968 + creditcard: { creditcard: true }
  969 + },
  970 +
  971 + addClassRules: function( className, rules ) {
  972 + if ( className.constructor === String ) {
  973 + this.classRuleSettings[ className ] = rules;
  974 + } else {
  975 + $.extend( this.classRuleSettings, className );
  976 + }
  977 + },
  978 +
  979 + classRules: function( element ) {
  980 + var rules = {},
  981 + classes = $( element ).attr( "class" );
  982 +
  983 + if ( classes ) {
  984 + $.each( classes.split( " " ), function() {
  985 + if ( this in $.validator.classRuleSettings ) {
  986 + $.extend( rules, $.validator.classRuleSettings[ this ]);
  987 + }
  988 + });
  989 + }
  990 + return rules;
  991 + },
  992 +
  993 + normalizeAttributeRule: function( rules, type, method, value ) {
  994 +
  995 + // convert the value to a number for number inputs, and for text for backwards compability
  996 + // allows type="date" and others to be compared as strings
  997 + if ( /min|max/.test( method ) && ( type === null || /number|range|text/.test( type ) ) ) {
  998 + value = Number( value );
  999 +
  1000 + // Support Opera Mini, which returns NaN for undefined minlength
  1001 + if ( isNaN( value ) ) {
  1002 + value = undefined;
  1003 + }
  1004 + }
  1005 +
  1006 + if ( value || value === 0 ) {
  1007 + rules[ method ] = value;
  1008 + } else if ( type === method && type !== "range" ) {
  1009 +
  1010 + // exception: the jquery validate 'range' method
  1011 + // does not test for the html5 'range' type
  1012 + rules[ method ] = true;
  1013 + }
  1014 + },
  1015 +
  1016 + attributeRules: function( element ) {
  1017 + var rules = {},
  1018 + $element = $( element ),
  1019 + type = element.getAttribute( "type" ),
  1020 + method, value;
  1021 +
  1022 + for ( method in $.validator.methods ) {
  1023 +
  1024 + // support for <input required> in both html5 and older browsers
  1025 + if ( method === "required" ) {
  1026 + value = element.getAttribute( method );
  1027 +
  1028 + // Some browsers return an empty string for the required attribute
  1029 + // and non-HTML5 browsers might have required="" markup
  1030 + if ( value === "" ) {
  1031 + value = true;
  1032 + }
  1033 +
  1034 + // force non-HTML5 browsers to return bool
  1035 + value = !!value;
  1036 + } else {
  1037 + value = $element.attr( method );
  1038 + }
  1039 +
  1040 + this.normalizeAttributeRule( rules, type, method, value );
  1041 + }
  1042 +
  1043 + // maxlength may be returned as -1, 2147483647 ( IE ) and 524288 ( safari ) for text inputs
  1044 + if ( rules.maxlength && /-1|2147483647|524288/.test( rules.maxlength ) ) {
  1045 + delete rules.maxlength;
  1046 + }
  1047 +
  1048 + return rules;
  1049 + },
  1050 +
  1051 + dataRules: function( element ) {
  1052 + var rules = {},
  1053 + $element = $( element ),
  1054 + type = element.getAttribute( "type" ),
  1055 + method, value;
  1056 +
  1057 + for ( method in $.validator.methods ) {
  1058 + value = $element.data( "rule" + method.charAt( 0 ).toUpperCase() + method.substring( 1 ).toLowerCase() );
  1059 + this.normalizeAttributeRule( rules, type, method, value );
  1060 + }
  1061 + return rules;
  1062 + },
  1063 +
  1064 + staticRules: function( element ) {
  1065 + var rules = {},
  1066 + validator = $.data( element.form, "validator" );
  1067 +
  1068 + if ( validator.settings.rules ) {
  1069 + rules = $.validator.normalizeRule( validator.settings.rules[ element.name ] ) || {};
  1070 + }
  1071 + return rules;
  1072 + },
  1073 +
  1074 + normalizeRules: function( rules, element ) {
  1075 + // handle dependency check
  1076 + $.each( rules, function( prop, val ) {
  1077 + // ignore rule when param is explicitly false, eg. required:false
  1078 + if ( val === false ) {
  1079 + delete rules[ prop ];
  1080 + return;
  1081 + }
  1082 + if ( val.param || val.depends ) {
  1083 + var keepRule = true;
  1084 + switch ( typeof val.depends ) {
  1085 + case "string":
  1086 + keepRule = !!$( val.depends, element.form ).length;
  1087 + break;
  1088 + case "function":
  1089 + keepRule = val.depends.call( element, element );
  1090 + break;
  1091 + }
  1092 + if ( keepRule ) {
  1093 + rules[ prop ] = val.param !== undefined ? val.param : true;
  1094 + } else {
  1095 + delete rules[ prop ];
  1096 + }
  1097 + }
  1098 + });
  1099 +
  1100 + // evaluate parameters
  1101 + $.each( rules, function( rule, parameter ) {
  1102 + rules[ rule ] = $.isFunction( parameter ) ? parameter( element ) : parameter;
  1103 + });
  1104 +
  1105 + // clean number parameters
  1106 + $.each([ "minlength", "maxlength" ], function() {
  1107 + if ( rules[ this ] ) {
  1108 + rules[ this ] = Number( rules[ this ] );
  1109 + }
  1110 + });
  1111 + $.each([ "rangelength", "range" ], function() {
  1112 + var parts;
  1113 + if ( rules[ this ] ) {
  1114 + if ( $.isArray( rules[ this ] ) ) {
  1115 + rules[ this ] = [ Number( rules[ this ][ 0 ]), Number( rules[ this ][ 1 ] ) ];
  1116 + } else if ( typeof rules[ this ] === "string" ) {
  1117 + parts = rules[ this ].replace(/[\[\]]/g, "" ).split( /[\s,]+/ );
  1118 + rules[ this ] = [ Number( parts[ 0 ]), Number( parts[ 1 ] ) ];
  1119 + }
  1120 + }
  1121 + });
  1122 +
  1123 + if ( $.validator.autoCreateRanges ) {
  1124 + // auto-create ranges
  1125 + if ( rules.min != null && rules.max != null ) {
  1126 + rules.range = [ rules.min, rules.max ];
  1127 + delete rules.min;
  1128 + delete rules.max;
  1129 + }
  1130 + if ( rules.minlength != null && rules.maxlength != null ) {
  1131 + rules.rangelength = [ rules.minlength, rules.maxlength ];
  1132 + delete rules.minlength;
  1133 + delete rules.maxlength;
  1134 + }
  1135 + }
  1136 +
  1137 + return rules;
  1138 + },
  1139 +
  1140 + // Converts a simple string to a {string: true} rule, e.g., "required" to {required:true}
  1141 + normalizeRule: function( data ) {
  1142 + if ( typeof data === "string" ) {
  1143 + var transformed = {};
  1144 + $.each( data.split( /\s/ ), function() {
  1145 + transformed[ this ] = true;
  1146 + });
  1147 + data = transformed;
  1148 + }
  1149 + return data;
  1150 + },
  1151 +
  1152 + // http://jqueryvalidation.org/jQuery.validator.addMethod/
  1153 + addMethod: function( name, method, message ) {
  1154 + $.validator.methods[ name ] = method;
  1155 + $.validator.messages[ name ] = message !== undefined ? message : $.validator.messages[ name ];
  1156 + if ( method.length < 3 ) {
  1157 + $.validator.addClassRules( name, $.validator.normalizeRule( name ) );
  1158 + }
  1159 + },
  1160 +
  1161 + methods: {
  1162 +
  1163 + // http://jqueryvalidation.org/required-method/
  1164 + required: function( value, element, param ) {
  1165 + // check if dependency is met
  1166 + if ( !this.depend( param, element ) ) {
  1167 + return "dependency-mismatch";
  1168 + }
  1169 + if ( element.nodeName.toLowerCase() === "select" ) {
  1170 + // could be an array for select-multiple or a string, both are fine this way
  1171 + var val = $( element ).val();
  1172 + return val && val.length > 0;
  1173 + }
  1174 + if ( this.checkable( element ) ) {
  1175 + return this.getLength( value, element ) > 0;
  1176 + }
  1177 + return value.length > 0;
  1178 + },
  1179 +
  1180 + // http://jqueryvalidation.org/email-method/
  1181 + email: function( value, element ) {
  1182 + // From https://html.spec.whatwg.org/multipage/forms.html#valid-e-mail-address
  1183 + // Retrieved 2014-01-14
  1184 + // If you have a problem with this implementation, report a bug against the above spec
  1185 + // Or use custom methods to implement your own email validation
  1186 + return this.optional( element ) || /^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/.test( value );
  1187 + },
  1188 +
  1189 + // http://jqueryvalidation.org/url-method/
  1190 + url: function( value, element ) {
  1191 +
  1192 + // Copyright (c) 2010-2013 Diego Perini, MIT licensed
  1193 + // https://gist.github.com/dperini/729294
  1194 + // see also https://mathiasbynens.be/demo/url-regex
  1195 + // modified to allow protocol-relative URLs
  1196 + return this.optional( element ) || /^(?:(?:(?:https?|ftp):)?\/\/)(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)(?:\.(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)*(?:\.(?:[a-z\u00a1-\uffff]{2,})).?)(?::\d{2,5})?(?:[/?#]\S*)?$/i.test( value );
  1197 + },
  1198 +
  1199 + // http://jqueryvalidation.org/date-method/
  1200 + date: function( value, element ) {
  1201 + return this.optional( element ) || !/Invalid|NaN/.test( new Date( value ).toString() );
  1202 + },
  1203 +
  1204 + // http://jqueryvalidation.org/dateISO-method/
  1205 + dateISO: function( value, element ) {
  1206 + return this.optional( element ) || /^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])$/.test( value );
  1207 + },
  1208 +
  1209 + // http://jqueryvalidation.org/number-method/
  1210 + number: function( value, element ) {
  1211 + return this.optional( element ) || /^(?:-?\d+|-?\d{1,3}(?:,\d{3})+)?(?:\.\d+)?$/.test( value );
  1212 + },
  1213 +
  1214 + // http://jqueryvalidation.org/digits-method/
  1215 + digits: function( value, element ) {
  1216 + return this.optional( element ) || /^\d+$/.test( value );
  1217 + },
  1218 +
  1219 + // http://jqueryvalidation.org/creditcard-method/
  1220 + // based on http://en.wikipedia.org/wiki/Luhn_algorithm
  1221 + creditcard: function( value, element ) {
  1222 + if ( this.optional( element ) ) {
  1223 + return "dependency-mismatch";
  1224 + }
  1225 + // accept only spaces, digits and dashes
  1226 + if ( /[^0-9 \-]+/.test( value ) ) {
  1227 + return false;
  1228 + }
  1229 + var nCheck = 0,
  1230 + nDigit = 0,
  1231 + bEven = false,
  1232 + n, cDigit;
  1233 +
  1234 + value = value.replace( /\D/g, "" );
  1235 +
  1236 + // Basing min and max length on
  1237 + // http://developer.ean.com/general_info/Valid_Credit_Card_Types
  1238 + if ( value.length < 13 || value.length > 19 ) {
  1239 + return false;
  1240 + }
  1241 +
  1242 + for ( n = value.length - 1; n >= 0; n--) {
  1243 + cDigit = value.charAt( n );
  1244 + nDigit = parseInt( cDigit, 10 );
  1245 + if ( bEven ) {
  1246 + if ( ( nDigit *= 2 ) > 9 ) {
  1247 + nDigit -= 9;
  1248 + }
  1249 + }
  1250 + nCheck += nDigit;
  1251 + bEven = !bEven;
  1252 + }
  1253 +
  1254 + return ( nCheck % 10 ) === 0;
  1255 + },
  1256 +
  1257 + // http://jqueryvalidation.org/minlength-method/
  1258 + minlength: function( value, element, param ) {
  1259 + var length = $.isArray( value ) ? value.length : this.getLength( value, element );
  1260 + return this.optional( element ) || length >= param;
  1261 + },
  1262 +
  1263 + // http://jqueryvalidation.org/maxlength-method/
  1264 + maxlength: function( value, element, param ) {
  1265 + var length = $.isArray( value ) ? value.length : this.getLength( value, element );
  1266 + return this.optional( element ) || length <= param;
  1267 + },
  1268 +
  1269 + // http://jqueryvalidation.org/rangelength-method/
  1270 + rangelength: function( value, element, param ) {
  1271 + var length = $.isArray( value ) ? value.length : this.getLength( value, element );
  1272 + return this.optional( element ) || ( length >= param[ 0 ] && length <= param[ 1 ] );
  1273 + },
  1274 +
  1275 + // http://jqueryvalidation.org/min-method/
  1276 + min: function( value, element, param ) {
  1277 + return this.optional( element ) || value >= param;
  1278 + },
  1279 +
  1280 + // http://jqueryvalidation.org/max-method/
  1281 + max: function( value, element, param ) {
  1282 + return this.optional( element ) || value <= param;
  1283 + },
  1284 +
  1285 + // http://jqueryvalidation.org/range-method/
  1286 + range: function( value, element, param ) {
  1287 + return this.optional( element ) || ( value >= param[ 0 ] && value <= param[ 1 ] );
  1288 + },
  1289 +
  1290 + // http://jqueryvalidation.org/equalTo-method/
  1291 + equalTo: function( value, element, param ) {
  1292 + // bind to the blur event of the target in order to revalidate whenever the target field is updated
  1293 + // TODO find a way to bind the event just once, avoiding the unbind-rebind overhead
  1294 + var target = $( param );
  1295 + if ( this.settings.onfocusout ) {
  1296 + target.off( ".validate-equalTo" ).on( "blur.validate-equalTo", function() {
  1297 + $( element ).valid();
  1298 + });
  1299 + }
  1300 + return value === target.val();
  1301 + },
  1302 +
  1303 + // http://jqueryvalidation.org/remote-method/
  1304 + remote: function( value, element, param ) {
  1305 + if ( this.optional( element ) ) {
  1306 + return "dependency-mismatch";
  1307 + }
  1308 +
  1309 + var previous = this.previousValue( element ),
  1310 + validator, data;
  1311 +
  1312 + if (!this.settings.messages[ element.name ] ) {
  1313 + this.settings.messages[ element.name ] = {};
  1314 + }
  1315 + previous.originalMessage = this.settings.messages[ element.name ].remote;
  1316 + this.settings.messages[ element.name ].remote = previous.message;
  1317 +
  1318 + param = typeof param === "string" && { url: param } || param;
  1319 +
  1320 + if ( previous.old === value ) {
  1321 + return previous.valid;
  1322 + }
  1323 +
  1324 + previous.old = value;
  1325 + validator = this;
  1326 + this.startRequest( element );
  1327 + data = {};
  1328 + data[ element.name ] = value;
  1329 + $.ajax( $.extend( true, {
  1330 + mode: "abort",
  1331 + port: "validate" + element.name,
  1332 + dataType: "json",
  1333 + data: data,
  1334 + context: validator.currentForm,
  1335 + success: function( response ) {
  1336 + var valid = response === true || response === "true",
  1337 + errors, message, submitted;
  1338 +
  1339 + validator.settings.messages[ element.name ].remote = previous.originalMessage;
  1340 + if ( valid ) {
  1341 + submitted = validator.formSubmitted;
  1342 + validator.prepareElement( element );
  1343 + validator.formSubmitted = submitted;
  1344 + validator.successList.push( element );
  1345 + delete validator.invalid[ element.name ];
  1346 + validator.showErrors();
  1347 + } else {
  1348 + errors = {};
  1349 + message = response || validator.defaultMessage( element, "remote" );
  1350 + errors[ element.name ] = previous.message = $.isFunction( message ) ? message( value ) : message;
  1351 + validator.invalid[ element.name ] = true;
  1352 + validator.showErrors( errors );
  1353 + }
  1354 + previous.valid = valid;
  1355 + validator.stopRequest( element, valid );
  1356 + }
  1357 + }, param ) );
  1358 + return "pending";
  1359 + }
  1360 + }
  1361 +
  1362 +});
  1363 +
  1364 +// ajax mode: abort
  1365 +// usage: $.ajax({ mode: "abort"[, port: "uniqueport"]});
  1366 +// if mode:"abort" is used, the previous request on that port (port can be undefined) is aborted via XMLHttpRequest.abort()
  1367 +
  1368 +var pendingRequests = {},
  1369 + ajax;
  1370 +// Use a prefilter if available (1.5+)
  1371 +if ( $.ajaxPrefilter ) {
  1372 + $.ajaxPrefilter(function( settings, _, xhr ) {
  1373 + var port = settings.port;
  1374 + if ( settings.mode === "abort" ) {
  1375 + if ( pendingRequests[port] ) {
  1376 + pendingRequests[port].abort();
  1377 + }
  1378 + pendingRequests[port] = xhr;
  1379 + }
  1380 + });
  1381 +} else {
  1382 + // Proxy ajax
  1383 + ajax = $.ajax;
  1384 + $.ajax = function( settings ) {
  1385 + var mode = ( "mode" in settings ? settings : $.ajaxSettings ).mode,
  1386 + port = ( "port" in settings ? settings : $.ajaxSettings ).port;
  1387 + if ( mode === "abort" ) {
  1388 + if ( pendingRequests[port] ) {
  1389 + pendingRequests[port].abort();
  1390 + }
  1391 + pendingRequests[port] = ajax.apply(this, arguments);
  1392 + return pendingRequests[port];
  1393 + }
  1394 + return ajax.apply(this, arguments);
  1395 + };
  1396 +}
  1397 +
  1398 +}));
0 \ No newline at end of file 1399 \ No newline at end of file
src/main/resources/static/real_control_v2/assets/plugins/jquery-validation/js/jquery.validate.min.js 0 → 100644
  1 +/*! jQuery Validation Plugin - v1.14.0 - 6/30/2015
  2 + * http://jqueryvalidation.org/
  3 + * Copyright (c) 2015 Jörn Zaefferer; Licensed MIT */
  4 +!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):a(jQuery)}(function(a){a.extend(a.fn,{validate:function(b){if(!this.length)return void(b&&b.debug&&window.console&&console.warn("Nothing selected, can't validate, returning nothing."));var c=a.data(this[0],"validator");return c?c:(this.attr("novalidate","novalidate"),c=new a.validator(b,this[0]),a.data(this[0],"validator",c),c.settings.onsubmit&&(this.on("click.validate",":submit",function(b){c.settings.submitHandler&&(c.submitButton=b.target),a(this).hasClass("cancel")&&(c.cancelSubmit=!0),void 0!==a(this).attr("formnovalidate")&&(c.cancelSubmit=!0)}),this.on("submit.validate",function(b){function d(){var d,e;return c.settings.submitHandler?(c.submitButton&&(d=a("<input type='hidden'/>").attr("name",c.submitButton.name).val(a(c.submitButton).val()).appendTo(c.currentForm)),e=c.settings.submitHandler.call(c,c.currentForm,b),c.submitButton&&d.remove(),void 0!==e?e:!1):!0}return c.settings.debug&&b.preventDefault(),c.cancelSubmit?(c.cancelSubmit=!1,d()):c.form()?c.pendingRequest?(c.formSubmitted=!0,!1):d():(c.focusInvalid(),!1)})),c)},valid:function(){var b,c,d;return a(this[0]).is("form")?b=this.validate().form():(d=[],b=!0,c=a(this[0].form).validate(),this.each(function(){b=c.element(this)&&b,d=d.concat(c.errorList)}),c.errorList=d),b},rules:function(b,c){var d,e,f,g,h,i,j=this[0];if(b)switch(d=a.data(j.form,"validator").settings,e=d.rules,f=a.validator.staticRules(j),b){case"add":a.extend(f,a.validator.normalizeRule(c)),delete f.messages,e[j.name]=f,c.messages&&(d.messages[j.name]=a.extend(d.messages[j.name],c.messages));break;case"remove":return c?(i={},a.each(c.split(/\s/),function(b,c){i[c]=f[c],delete f[c],"required"===c&&a(j).removeAttr("aria-required")}),i):(delete e[j.name],f)}return g=a.validator.normalizeRules(a.extend({},a.validator.classRules(j),a.validator.attributeRules(j),a.validator.dataRules(j),a.validator.staticRules(j)),j),g.required&&(h=g.required,delete g.required,g=a.extend({required:h},g),a(j).attr("aria-required","true")),g.remote&&(h=g.remote,delete g.remote,g=a.extend(g,{remote:h})),g}}),a.extend(a.expr[":"],{blank:function(b){return!a.trim(""+a(b).val())},filled:function(b){return!!a.trim(""+a(b).val())},unchecked:function(b){return!a(b).prop("checked")}}),a.validator=function(b,c){this.settings=a.extend(!0,{},a.validator.defaults,b),this.currentForm=c,this.init()},a.validator.format=function(b,c){return 1===arguments.length?function(){var c=a.makeArray(arguments);return c.unshift(b),a.validator.format.apply(this,c)}:(arguments.length>2&&c.constructor!==Array&&(c=a.makeArray(arguments).slice(1)),c.constructor!==Array&&(c=[c]),a.each(c,function(a,c){b=b.replace(new RegExp("\\{"+a+"\\}","g"),function(){return c})}),b)},a.extend(a.validator,{defaults:{messages:{},groups:{},rules:{},errorClass:"error",validClass:"valid",errorElement:"label",focusCleanup:!1,focusInvalid:!0,errorContainer:a([]),errorLabelContainer:a([]),onsubmit:!0,ignore:":hidden",ignoreTitle:!1,onfocusin:function(a){this.lastActive=a,this.settings.focusCleanup&&(this.settings.unhighlight&&this.settings.unhighlight.call(this,a,this.settings.errorClass,this.settings.validClass),this.hideThese(this.errorsFor(a)))},onfocusout:function(a){this.checkable(a)||!(a.name in this.submitted)&&this.optional(a)||this.element(a)},onkeyup:function(b,c){var d=[16,17,18,20,35,36,37,38,39,40,45,144,225];9===c.which&&""===this.elementValue(b)||-1!==a.inArray(c.keyCode,d)||(b.name in this.submitted||b===this.lastElement)&&this.element(b)},onclick:function(a){a.name in this.submitted?this.element(a):a.parentNode.name in this.submitted&&this.element(a.parentNode)},highlight:function(b,c,d){"radio"===b.type?this.findByName(b.name).addClass(c).removeClass(d):a(b).addClass(c).removeClass(d)},unhighlight:function(b,c,d){"radio"===b.type?this.findByName(b.name).removeClass(c).addClass(d):a(b).removeClass(c).addClass(d)}},setDefaults:function(b){a.extend(a.validator.defaults,b)},messages:{required:"This field is required.",remote:"Please fix this field.",email:"Please enter a valid email address.",url:"Please enter a valid URL.",date:"Please enter a valid date.",dateISO:"Please enter a valid date ( ISO ).",number:"Please enter a valid number.",digits:"Please enter only digits.",creditcard:"Please enter a valid credit card number.",equalTo:"Please enter the same value again.",maxlength:a.validator.format("Please enter no more than {0} characters."),minlength:a.validator.format("Please enter at least {0} characters."),rangelength:a.validator.format("Please enter a value between {0} and {1} characters long."),range:a.validator.format("Please enter a value between {0} and {1}."),max:a.validator.format("Please enter a value less than or equal to {0}."),min:a.validator.format("Please enter a value greater than or equal to {0}.")},autoCreateRanges:!1,prototype:{init:function(){function b(b){var c=a.data(this.form,"validator"),d="on"+b.type.replace(/^validate/,""),e=c.settings;e[d]&&!a(this).is(e.ignore)&&e[d].call(c,this,b)}this.labelContainer=a(this.settings.errorLabelContainer),this.errorContext=this.labelContainer.length&&this.labelContainer||a(this.currentForm),this.containers=a(this.settings.errorContainer).add(this.settings.errorLabelContainer),this.submitted={},this.valueCache={},this.pendingRequest=0,this.pending={},this.invalid={},this.reset();var c,d=this.groups={};a.each(this.settings.groups,function(b,c){"string"==typeof c&&(c=c.split(/\s/)),a.each(c,function(a,c){d[c]=b})}),c=this.settings.rules,a.each(c,function(b,d){c[b]=a.validator.normalizeRule(d)}),a(this.currentForm).on("focusin.validate focusout.validate keyup.validate",":text, [type='password'], [type='file'], select, textarea, [type='number'], [type='search'], [type='tel'], [type='url'], [type='email'], [type='datetime'], [type='date'], [type='month'], [type='week'], [type='time'], [type='datetime-local'], [type='range'], [type='color'], [type='radio'], [type='checkbox']",b).on("click.validate","select, option, [type='radio'], [type='checkbox']",b),this.settings.invalidHandler&&a(this.currentForm).on("invalid-form.validate",this.settings.invalidHandler),a(this.currentForm).find("[required], [data-rule-required], .required").attr("aria-required","true")},form:function(){return this.checkForm(),a.extend(this.submitted,this.errorMap),this.invalid=a.extend({},this.errorMap),this.valid()||a(this.currentForm).triggerHandler("invalid-form",[this]),this.showErrors(),this.valid()},checkForm:function(){this.prepareForm();for(var a=0,b=this.currentElements=this.elements();b[a];a++)this.check(b[a]);return this.valid()},element:function(b){var c=this.clean(b),d=this.validationTargetFor(c),e=!0;return this.lastElement=d,void 0===d?delete this.invalid[c.name]:(this.prepareElement(d),this.currentElements=a(d),e=this.check(d)!==!1,e?delete this.invalid[d.name]:this.invalid[d.name]=!0),a(b).attr("aria-invalid",!e),this.numberOfInvalids()||(this.toHide=this.toHide.add(this.containers)),this.showErrors(),e},showErrors:function(b){if(b){a.extend(this.errorMap,b),this.errorList=[];for(var c in b)this.errorList.push({message:b[c],element:this.findByName(c)[0]});this.successList=a.grep(this.successList,function(a){return!(a.name in b)})}this.settings.showErrors?this.settings.showErrors.call(this,this.errorMap,this.errorList):this.defaultShowErrors()},resetForm:function(){a.fn.resetForm&&a(this.currentForm).resetForm(),this.submitted={},this.lastElement=null,this.prepareForm(),this.hideErrors();var b,c=this.elements().removeData("previousValue").removeAttr("aria-invalid");if(this.settings.unhighlight)for(b=0;c[b];b++)this.settings.unhighlight.call(this,c[b],this.settings.errorClass,"");else c.removeClass(this.settings.errorClass)},numberOfInvalids:function(){return this.objectLength(this.invalid)},objectLength:function(a){var b,c=0;for(b in a)c++;return c},hideErrors:function(){this.hideThese(this.toHide)},hideThese:function(a){a.not(this.containers).text(""),this.addWrapper(a).hide()},valid:function(){return 0===this.size()},size:function(){return this.errorList.length},focusInvalid:function(){if(this.settings.focusInvalid)try{a(this.findLastActive()||this.errorList.length&&this.errorList[0].element||[]).filter(":visible").focus().trigger("focusin")}catch(b){}},findLastActive:function(){var b=this.lastActive;return b&&1===a.grep(this.errorList,function(a){return a.element.name===b.name}).length&&b},elements:function(){var b=this,c={};return a(this.currentForm).find("input, select, textarea").not(":submit, :reset, :image, :disabled").not(this.settings.ignore).filter(function(){return!this.name&&b.settings.debug&&window.console&&console.error("%o has no name assigned",this),this.name in c||!b.objectLength(a(this).rules())?!1:(c[this.name]=!0,!0)})},clean:function(b){return a(b)[0]},errors:function(){var b=this.settings.errorClass.split(" ").join(".");return a(this.settings.errorElement+"."+b,this.errorContext)},reset:function(){this.successList=[],this.errorList=[],this.errorMap={},this.toShow=a([]),this.toHide=a([]),this.currentElements=a([])},prepareForm:function(){this.reset(),this.toHide=this.errors().add(this.containers)},prepareElement:function(a){this.reset(),this.toHide=this.errorsFor(a)},elementValue:function(b){var c,d=a(b),e=b.type;return"radio"===e||"checkbox"===e?this.findByName(b.name).filter(":checked").val():"number"===e&&"undefined"!=typeof b.validity?b.validity.badInput?!1:d.val():(c=d.val(),"string"==typeof c?c.replace(/\r/g,""):c)},check:function(b){b=this.validationTargetFor(this.clean(b));var c,d,e,f=a(b).rules(),g=a.map(f,function(a,b){return b}).length,h=!1,i=this.elementValue(b);for(d in f){e={method:d,parameters:f[d]};try{if(c=a.validator.methods[d].call(this,i,b,e.parameters),"dependency-mismatch"===c&&1===g){h=!0;continue}if(h=!1,"pending"===c)return void(this.toHide=this.toHide.not(this.errorsFor(b)));if(!c)return this.formatAndAdd(b,e),!1}catch(j){throw this.settings.debug&&window.console&&console.log("Exception occurred when checking element "+b.id+", check the '"+e.method+"' method.",j),j instanceof TypeError&&(j.message+=". Exception occurred when checking element "+b.id+", check the '"+e.method+"' method."),j}}if(!h)return this.objectLength(f)&&this.successList.push(b),!0},customDataMessage:function(b,c){return a(b).data("msg"+c.charAt(0).toUpperCase()+c.substring(1).toLowerCase())||a(b).data("msg")},customMessage:function(a,b){var c=this.settings.messages[a];return c&&(c.constructor===String?c:c[b])},findDefined:function(){for(var a=0;a<arguments.length;a++)if(void 0!==arguments[a])return arguments[a];return void 0},defaultMessage:function(b,c){return this.findDefined(this.customMessage(b.name,c),this.customDataMessage(b,c),!this.settings.ignoreTitle&&b.title||void 0,a.validator.messages[c],"<strong>Warning: No message defined for "+b.name+"</strong>")},formatAndAdd:function(b,c){var d=this.defaultMessage(b,c.method),e=/\$?\{(\d+)\}/g;"function"==typeof d?d=d.call(this,c.parameters,b):e.test(d)&&(d=a.validator.format(d.replace(e,"{$1}"),c.parameters)),this.errorList.push({message:d,element:b,method:c.method}),this.errorMap[b.name]=d,this.submitted[b.name]=d},addWrapper:function(a){return this.settings.wrapper&&(a=a.add(a.parent(this.settings.wrapper))),a},defaultShowErrors:function(){var a,b,c;for(a=0;this.errorList[a];a++)c=this.errorList[a],this.settings.highlight&&this.settings.highlight.call(this,c.element,this.settings.errorClass,this.settings.validClass),this.showLabel(c.element,c.message);if(this.errorList.length&&(this.toShow=this.toShow.add(this.containers)),this.settings.success)for(a=0;this.successList[a];a++)this.showLabel(this.successList[a]);if(this.settings.unhighlight)for(a=0,b=this.validElements();b[a];a++)this.settings.unhighlight.call(this,b[a],this.settings.errorClass,this.settings.validClass);this.toHide=this.toHide.not(this.toShow),this.hideErrors(),this.addWrapper(this.toShow).show()},validElements:function(){return this.currentElements.not(this.invalidElements())},invalidElements:function(){return a(this.errorList).map(function(){return this.element})},showLabel:function(b,c){var d,e,f,g=this.errorsFor(b),h=this.idOrName(b),i=a(b).attr("aria-describedby");g.length?(g.removeClass(this.settings.validClass).addClass(this.settings.errorClass),g.html(c)):(g=a("<"+this.settings.errorElement+">").attr("id",h+"-error").addClass(this.settings.errorClass).html(c||""),d=g,this.settings.wrapper&&(d=g.hide().show().wrap("<"+this.settings.wrapper+"/>").parent()),this.labelContainer.length?this.labelContainer.append(d):this.settings.errorPlacement?this.settings.errorPlacement(d,a(b)):d.insertAfter(b),g.is("label")?g.attr("for",h):0===g.parents("label[for='"+h+"']").length&&(f=g.attr("id").replace(/(:|\.|\[|\]|\$)/g,"\\$1"),i?i.match(new RegExp("\\b"+f+"\\b"))||(i+=" "+f):i=f,a(b).attr("aria-describedby",i),e=this.groups[b.name],e&&a.each(this.groups,function(b,c){c===e&&a("[name='"+b+"']",this.currentForm).attr("aria-describedby",g.attr("id"))}))),!c&&this.settings.success&&(g.text(""),"string"==typeof this.settings.success?g.addClass(this.settings.success):this.settings.success(g,b)),this.toShow=this.toShow.add(g)},errorsFor:function(b){var c=this.idOrName(b),d=a(b).attr("aria-describedby"),e="label[for='"+c+"'], label[for='"+c+"'] *";return d&&(e=e+", #"+d.replace(/\s+/g,", #")),this.errors().filter(e)},idOrName:function(a){return this.groups[a.name]||(this.checkable(a)?a.name:a.id||a.name)},validationTargetFor:function(b){return this.checkable(b)&&(b=this.findByName(b.name)),a(b).not(this.settings.ignore)[0]},checkable:function(a){return/radio|checkbox/i.test(a.type)},findByName:function(b){return a(this.currentForm).find("[name='"+b+"']")},getLength:function(b,c){switch(c.nodeName.toLowerCase()){case"select":return a("option:selected",c).length;case"input":if(this.checkable(c))return this.findByName(c.name).filter(":checked").length}return b.length},depend:function(a,b){return this.dependTypes[typeof a]?this.dependTypes[typeof a](a,b):!0},dependTypes:{"boolean":function(a){return a},string:function(b,c){return!!a(b,c.form).length},"function":function(a,b){return a(b)}},optional:function(b){var c=this.elementValue(b);return!a.validator.methods.required.call(this,c,b)&&"dependency-mismatch"},startRequest:function(a){this.pending[a.name]||(this.pendingRequest++,this.pending[a.name]=!0)},stopRequest:function(b,c){this.pendingRequest--,this.pendingRequest<0&&(this.pendingRequest=0),delete this.pending[b.name],c&&0===this.pendingRequest&&this.formSubmitted&&this.form()?(a(this.currentForm).submit(),this.formSubmitted=!1):!c&&0===this.pendingRequest&&this.formSubmitted&&(a(this.currentForm).triggerHandler("invalid-form",[this]),this.formSubmitted=!1)},previousValue:function(b){return a.data(b,"previousValue")||a.data(b,"previousValue",{old:null,valid:!0,message:this.defaultMessage(b,"remote")})},destroy:function(){this.resetForm(),a(this.currentForm).off(".validate").removeData("validator")}},classRuleSettings:{required:{required:!0},email:{email:!0},url:{url:!0},date:{date:!0},dateISO:{dateISO:!0},number:{number:!0},digits:{digits:!0},creditcard:{creditcard:!0}},addClassRules:function(b,c){b.constructor===String?this.classRuleSettings[b]=c:a.extend(this.classRuleSettings,b)},classRules:function(b){var c={},d=a(b).attr("class");return d&&a.each(d.split(" "),function(){this in a.validator.classRuleSettings&&a.extend(c,a.validator.classRuleSettings[this])}),c},normalizeAttributeRule:function(a,b,c,d){/min|max/.test(c)&&(null===b||/number|range|text/.test(b))&&(d=Number(d),isNaN(d)&&(d=void 0)),d||0===d?a[c]=d:b===c&&"range"!==b&&(a[c]=!0)},attributeRules:function(b){var c,d,e={},f=a(b),g=b.getAttribute("type");for(c in a.validator.methods)"required"===c?(d=b.getAttribute(c),""===d&&(d=!0),d=!!d):d=f.attr(c),this.normalizeAttributeRule(e,g,c,d);return e.maxlength&&/-1|2147483647|524288/.test(e.maxlength)&&delete e.maxlength,e},dataRules:function(b){var c,d,e={},f=a(b),g=b.getAttribute("type");for(c in a.validator.methods)d=f.data("rule"+c.charAt(0).toUpperCase()+c.substring(1).toLowerCase()),this.normalizeAttributeRule(e,g,c,d);return e},staticRules:function(b){var c={},d=a.data(b.form,"validator");return d.settings.rules&&(c=a.validator.normalizeRule(d.settings.rules[b.name])||{}),c},normalizeRules:function(b,c){return a.each(b,function(d,e){if(e===!1)return void delete b[d];if(e.param||e.depends){var f=!0;switch(typeof e.depends){case"string":f=!!a(e.depends,c.form).length;break;case"function":f=e.depends.call(c,c)}f?b[d]=void 0!==e.param?e.param:!0:delete b[d]}}),a.each(b,function(d,e){b[d]=a.isFunction(e)?e(c):e}),a.each(["minlength","maxlength"],function(){b[this]&&(b[this]=Number(b[this]))}),a.each(["rangelength","range"],function(){var c;b[this]&&(a.isArray(b[this])?b[this]=[Number(b[this][0]),Number(b[this][1])]:"string"==typeof b[this]&&(c=b[this].replace(/[\[\]]/g,"").split(/[\s,]+/),b[this]=[Number(c[0]),Number(c[1])]))}),a.validator.autoCreateRanges&&(null!=b.min&&null!=b.max&&(b.range=[b.min,b.max],delete b.min,delete b.max),null!=b.minlength&&null!=b.maxlength&&(b.rangelength=[b.minlength,b.maxlength],delete b.minlength,delete b.maxlength)),b},normalizeRule:function(b){if("string"==typeof b){var c={};a.each(b.split(/\s/),function(){c[this]=!0}),b=c}return b},addMethod:function(b,c,d){a.validator.methods[b]=c,a.validator.messages[b]=void 0!==d?d:a.validator.messages[b],c.length<3&&a.validator.addClassRules(b,a.validator.normalizeRule(b))},methods:{required:function(b,c,d){if(!this.depend(d,c))return"dependency-mismatch";if("select"===c.nodeName.toLowerCase()){var e=a(c).val();return e&&e.length>0}return this.checkable(c)?this.getLength(b,c)>0:b.length>0},email:function(a,b){return this.optional(b)||/^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/.test(a)},url:function(a,b){return this.optional(b)||/^(?:(?:(?:https?|ftp):)?\/\/)(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)(?:\.(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)*(?:\.(?:[a-z\u00a1-\uffff]{2,})).?)(?::\d{2,5})?(?:[/?#]\S*)?$/i.test(a)},date:function(a,b){return this.optional(b)||!/Invalid|NaN/.test(new Date(a).toString())},dateISO:function(a,b){return this.optional(b)||/^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])$/.test(a)},number:function(a,b){return this.optional(b)||/^(?:-?\d+|-?\d{1,3}(?:,\d{3})+)?(?:\.\d+)?$/.test(a)},digits:function(a,b){return this.optional(b)||/^\d+$/.test(a)},creditcard:function(a,b){if(this.optional(b))return"dependency-mismatch";if(/[^0-9 \-]+/.test(a))return!1;var c,d,e=0,f=0,g=!1;if(a=a.replace(/\D/g,""),a.length<13||a.length>19)return!1;for(c=a.length-1;c>=0;c--)d=a.charAt(c),f=parseInt(d,10),g&&(f*=2)>9&&(f-=9),e+=f,g=!g;return e%10===0},minlength:function(b,c,d){var e=a.isArray(b)?b.length:this.getLength(b,c);return this.optional(c)||e>=d},maxlength:function(b,c,d){var e=a.isArray(b)?b.length:this.getLength(b,c);return this.optional(c)||d>=e},rangelength:function(b,c,d){var e=a.isArray(b)?b.length:this.getLength(b,c);return this.optional(c)||e>=d[0]&&e<=d[1]},min:function(a,b,c){return this.optional(b)||a>=c},max:function(a,b,c){return this.optional(b)||c>=a},range:function(a,b,c){return this.optional(b)||a>=c[0]&&a<=c[1]},equalTo:function(b,c,d){var e=a(d);return this.settings.onfocusout&&e.off(".validate-equalTo").on("blur.validate-equalTo",function(){a(c).valid()}),b===e.val()},remote:function(b,c,d){if(this.optional(c))return"dependency-mismatch";var e,f,g=this.previousValue(c);return this.settings.messages[c.name]||(this.settings.messages[c.name]={}),g.originalMessage=this.settings.messages[c.name].remote,this.settings.messages[c.name].remote=g.message,d="string"==typeof d&&{url:d}||d,g.old===b?g.valid:(g.old=b,e=this,this.startRequest(c),f={},f[c.name]=b,a.ajax(a.extend(!0,{mode:"abort",port:"validate"+c.name,dataType:"json",data:f,context:e.currentForm,success:function(d){var f,h,i,j=d===!0||"true"===d;e.settings.messages[c.name].remote=g.originalMessage,j?(i=e.formSubmitted,e.prepareElement(c),e.formSubmitted=i,e.successList.push(c),delete e.invalid[c.name],e.showErrors()):(f={},h=d||e.defaultMessage(c,"remote"),f[c.name]=g.message=a.isFunction(h)?h(b):h,e.invalid[c.name]=!0,e.showErrors(f)),g.valid=j,e.stopRequest(c,j)}},d)),"pending")}}});var b,c={};a.ajaxPrefilter?a.ajaxPrefilter(function(a,b,d){var e=a.port;"abort"===a.mode&&(c[e]&&c[e].abort(),c[e]=d)}):(b=a.ajax,a.ajax=function(d){var e=("mode"in d?d:a.ajaxSettings).mode,f=("port"in d?d:a.ajaxSettings).port;return"abort"===e?(c[f]&&c[f].abort(),c[f]=b.apply(this,arguments),c[f]):b.apply(this,arguments)})});
0 \ No newline at end of file 5 \ No newline at end of file
src/main/resources/static/real_control_v2/assets/plugins/jquery-validation/js/localization/messages_ar.js 0 → 100644
  1 +(function( factory ) {
  2 + if ( typeof define === "function" && define.amd ) {
  3 + define( ["jquery", "../jquery.validate"], factory );
  4 + } else {
  5 + factory( jQuery );
  6 + }
  7 +}(function( $ ) {
  8 +
  9 +/*
  10 + * Translated default messages for the jQuery validation plugin.
  11 + * Locale: AR (Arabic; العربية)
  12 + */
  13 +$.extend($.validator.messages, {
  14 + required: "هذا الحقل إلزامي",
  15 + remote: "يرجى تصحيح هذا الحقل للمتابعة",
  16 + email: "رجاء إدخال عنوان بريد إلكتروني صحيح",
  17 + url: "رجاء إدخال عنوان موقع إلكتروني صحيح",
  18 + date: "رجاء إدخال تاريخ صحيح",
  19 + dateISO: "رجاء إدخال تاريخ صحيح (ISO)",
  20 + number: "رجاء إدخال عدد بطريقة صحيحة",
  21 + digits: "رجاء إدخال أرقام فقط",
  22 + creditcard: "رجاء إدخال رقم بطاقة ائتمان صحيح",
  23 + equalTo: "رجاء إدخال نفس القيمة",
  24 + extension: "رجاء إدخال ملف بامتداد موافق عليه",
  25 + maxlength: $.validator.format("الحد الأقصى لعدد الحروف هو {0}"),
  26 + minlength: $.validator.format("الحد الأدنى لعدد الحروف هو {0}"),
  27 + rangelength: $.validator.format("عدد الحروف يجب أن يكون بين {0} و {1}"),
  28 + range: $.validator.format("رجاء إدخال عدد قيمته بين {0} و {1}"),
  29 + max: $.validator.format("رجاء إدخال عدد أقل من أو يساوي (0}"),
  30 + min: $.validator.format("رجاء إدخال عدد أكبر من أو يساوي (0}")
  31 +});
  32 +
  33 +}));
0 \ No newline at end of file 34 \ No newline at end of file
src/main/resources/static/real_control_v2/assets/plugins/jquery-validation/js/localization/messages_ar.min.js 0 → 100644
  1 +/*! jQuery Validation Plugin - v1.14.0 - 6/30/2015
  2 + * http://jqueryvalidation.org/
  3 + * Copyright (c) 2015 Jörn Zaefferer; Licensed MIT */
  4 +!function(a){"function"==typeof define&&define.amd?define(["jquery","../jquery.validate.min"],a):a(jQuery)}(function(a){a.extend(a.validator.messages,{required:"هذا الحقل إلزامي",remote:"يرجى تصحيح هذا الحقل للمتابعة",email:"رجاء إدخال عنوان بريد إلكتروني صحيح",url:"رجاء إدخال عنوان موقع إلكتروني صحيح",date:"رجاء إدخال تاريخ صحيح",dateISO:"رجاء إدخال تاريخ صحيح (ISO)",number:"رجاء إدخال عدد بطريقة صحيحة",digits:"رجاء إدخال أرقام فقط",creditcard:"رجاء إدخال رقم بطاقة ائتمان صحيح",equalTo:"رجاء إدخال نفس القيمة",extension:"رجاء إدخال ملف بامتداد موافق عليه",maxlength:a.validator.format("الحد الأقصى لعدد الحروف هو {0}"),minlength:a.validator.format("الحد الأدنى لعدد الحروف هو {0}"),rangelength:a.validator.format("عدد الحروف يجب أن يكون بين {0} و {1}"),range:a.validator.format("رجاء إدخال عدد قيمته بين {0} و {1}"),max:a.validator.format("رجاء إدخال عدد أقل من أو يساوي (0}"),min:a.validator.format("رجاء إدخال عدد أكبر من أو يساوي (0}")})});
0 \ No newline at end of file 5 \ No newline at end of file
src/main/resources/static/real_control_v2/assets/plugins/jquery-validation/js/localization/messages_bg.js 0 → 100644
  1 +(function( factory ) {
  2 + if ( typeof define === "function" && define.amd ) {
  3 + define( ["jquery", "../jquery.validate"], factory );
  4 + } else {
  5 + factory( jQuery );
  6 + }
  7 +}(function( $ ) {
  8 +
  9 +/*
  10 + * Translated default messages for the jQuery validation plugin.
  11 + * Locale: BG (Bulgarian; български език)
  12 + */
  13 +$.extend($.validator.messages, {
  14 + required: "Полето е задължително.",
  15 + remote: "Моля, въведете правилната стойност.",
  16 + email: "Моля, въведете валиден email.",
  17 + url: "Моля, въведете валидно URL.",
  18 + date: "Моля, въведете валидна дата.",
  19 + dateISO: "Моля, въведете валидна дата (ISO).",
  20 + number: "Моля, въведете валиден номер.",
  21 + digits: "Моля, въведете само цифри.",
  22 + creditcard: "Моля, въведете валиден номер на кредитна карта.",
  23 + equalTo: "Моля, въведете същата стойност отново.",
  24 + extension: "Моля, въведете стойност с валидно разширение.",
  25 + maxlength: $.validator.format("Моля, въведете повече от {0} символа."),
  26 + minlength: $.validator.format("Моля, въведете поне {0} символа."),
  27 + rangelength: $.validator.format("Моля, въведете стойност с дължина между {0} и {1} символа."),
  28 + range: $.validator.format("Моля, въведете стойност между {0} и {1}."),
  29 + max: $.validator.format("Моля, въведете стойност по-малка или равна на {0}."),
  30 + min: $.validator.format("Моля, въведете стойност по-голяма или равна на {0}.")
  31 +});
  32 +
  33 +}));
0 \ No newline at end of file 34 \ No newline at end of file
src/main/resources/static/real_control_v2/assets/plugins/jquery-validation/js/localization/messages_bg.min.js 0 → 100644
  1 +/*! jQuery Validation Plugin - v1.14.0 - 6/30/2015
  2 + * http://jqueryvalidation.org/
  3 + * Copyright (c) 2015 Jörn Zaefferer; Licensed MIT */
  4 +!function(a){"function"==typeof define&&define.amd?define(["jquery","../jquery.validate.min"],a):a(jQuery)}(function(a){a.extend(a.validator.messages,{required:"Полето е задължително.",remote:"Моля, въведете правилната стойност.",email:"Моля, въведете валиден email.",url:"Моля, въведете валидно URL.",date:"Моля, въведете валидна дата.",dateISO:"Моля, въведете валидна дата (ISO).",number:"Моля, въведете валиден номер.",digits:"Моля, въведете само цифри.",creditcard:"Моля, въведете валиден номер на кредитна карта.",equalTo:"Моля, въведете същата стойност отново.",extension:"Моля, въведете стойност с валидно разширение.",maxlength:a.validator.format("Моля, въведете повече от {0} символа."),minlength:a.validator.format("Моля, въведете поне {0} символа."),rangelength:a.validator.format("Моля, въведете стойност с дължина между {0} и {1} символа."),range:a.validator.format("Моля, въведете стойност между {0} и {1}."),max:a.validator.format("Моля, въведете стойност по-малка или равна на {0}."),min:a.validator.format("Моля, въведете стойност по-голяма или равна на {0}.")})});
0 \ No newline at end of file 5 \ No newline at end of file
src/main/resources/static/real_control_v2/assets/plugins/jquery-validation/js/localization/messages_bn_BD.js 0 → 100644
  1 +(function( factory ) {
  2 + if ( typeof define === "function" && define.amd ) {
  3 + define( ["jquery", "../jquery.validate"], factory );
  4 + } else {
  5 + factory( jQuery );
  6 + }
  7 +}(function( $ ) {
  8 +
  9 +/*
  10 + * Translated default messages for the jQuery validation plugin.
  11 + * Locale: bn_BD (Bengali, Bangladesh)
  12 + */
  13 +$.extend($.validator.messages, {
  14 + required: "এই তথ্যটি আবশ্যক।",
  15 + remote: "এই তথ্যটি ঠিক করুন।",
  16 + email: "অনুগ্রহ করে একটি সঠিক মেইল ঠিকানা লিখুন।",
  17 + url: "অনুগ্রহ করে একটি সঠিক লিঙ্ক দিন।",
  18 + date: "তারিখ সঠিক নয়।",
  19 + dateISO: "অনুগ্রহ করে একটি সঠিক (ISO) তারিখ লিখুন।",
  20 + number: "অনুগ্রহ করে একটি সঠিক নম্বর লিখুন।",
  21 + digits: "এখানে শুধু সংখ্যা ব্যবহার করা যাবে।",
  22 + creditcard: "অনুগ্রহ করে একটি ক্রেডিট কার্ডের সঠিক নম্বর লিখুন।",
  23 + equalTo: "একই মান আবার লিখুন।",
  24 + extension: "সঠিক ধরনের ফাইল আপলোড করুন।",
  25 + maxlength: $.validator.format("{0}টির বেশি অক্ষর লেখা যাবে না।"),
  26 + minlength: $.validator.format("{0}টির কম অক্ষর লেখা যাবে না।"),
  27 + rangelength: $.validator.format("{0} থেকে {1} টি অক্ষর সম্বলিত মান লিখুন।"),
  28 + range: $.validator.format("{0} থেকে {1} এর মধ্যে একটি মান ব্যবহার করুন।"),
  29 + max: $.validator.format("অনুগ্রহ করে {0} বা তার চাইতে কম মান ব্যবহার করুন।"),
  30 + min: $.validator.format("অনুগ্রহ করে {0} বা তার চাইতে বেশি মান ব্যবহার করুন।")
  31 +});
  32 +
  33 +}));
0 \ No newline at end of file 34 \ No newline at end of file
src/main/resources/static/real_control_v2/assets/plugins/jquery-validation/js/localization/messages_bn_BD.min.js 0 → 100644
  1 +/*! jQuery Validation Plugin - v1.14.0 - 6/30/2015
  2 + * http://jqueryvalidation.org/
  3 + * Copyright (c) 2015 Jörn Zaefferer; Licensed MIT */
  4 +!function(a){"function"==typeof define&&define.amd?define(["jquery","../jquery.validate.min"],a):a(jQuery)}(function(a){a.extend(a.validator.messages,{required:"এই তথ্যটি আবশ্যক।",remote:"এই তথ্যটি ঠিক করুন।",email:"অনুগ্রহ করে একটি সঠিক মেইল ঠিকানা লিখুন।",url:"অনুগ্রহ করে একটি সঠিক লিঙ্ক দিন।",date:"তারিখ সঠিক নয়।",dateISO:"অনুগ্রহ করে একটি সঠিক (ISO) তারিখ লিখুন।",number:"অনুগ্রহ করে একটি সঠিক নম্বর লিখুন।",digits:"এখানে শুধু সংখ্যা ব্যবহার করা যাবে।",creditcard:"অনুগ্রহ করে একটি ক্রেডিট কার্ডের সঠিক নম্বর লিখুন।",equalTo:"একই মান আবার লিখুন।",extension:"সঠিক ধরনের ফাইল আপলোড করুন।",maxlength:a.validator.format("{0}টির বেশি অক্ষর লেখা যাবে না।"),minlength:a.validator.format("{0}টির কম অক্ষর লেখা যাবে না।"),rangelength:a.validator.format("{0} থেকে {1} টি অক্ষর সম্বলিত মান লিখুন।"),range:a.validator.format("{0} থেকে {1} এর মধ্যে একটি মান ব্যবহার করুন।"),max:a.validator.format("অনুগ্রহ করে {0} বা তার চাইতে কম মান ব্যবহার করুন।"),min:a.validator.format("অনুগ্রহ করে {0} বা তার চাইতে বেশি মান ব্যবহার করুন।")})});
0 \ No newline at end of file 5 \ No newline at end of file
src/main/resources/static/real_control_v2/assets/plugins/jquery-validation/js/localization/messages_ca.js 0 → 100644
  1 +(function( factory ) {
  2 + if ( typeof define === "function" && define.amd ) {
  3 + define( ["jquery", "../jquery.validate"], factory );
  4 + } else {
  5 + factory( jQuery );
  6 + }
  7 +}(function( $ ) {
  8 +
  9 +/*
  10 + * Translated default messages for the jQuery validation plugin.
  11 + * Locale: CA (Catalan; català)
  12 + */
  13 +$.extend($.validator.messages, {
  14 + required: "Aquest camp és obligatori.",
  15 + remote: "Si us plau, omple aquest camp.",
  16 + email: "Si us plau, escriu una adreça de correu-e vàlida",
  17 + url: "Si us plau, escriu una URL vàlida.",
  18 + date: "Si us plau, escriu una data vàlida.",
  19 + dateISO: "Si us plau, escriu una data (ISO) vàlida.",
  20 + number: "Si us plau, escriu un número enter vàlid.",
  21 + digits: "Si us plau, escriu només dígits.",
  22 + creditcard: "Si us plau, escriu un número de tarjeta vàlid.",
  23 + equalTo: "Si us plau, escriu el mateix valor de nou.",
  24 + extension: "Si us plau, escriu un valor amb una extensió acceptada.",
  25 + maxlength: $.validator.format("Si us plau, no escriguis més de {0} caracters."),
  26 + minlength: $.validator.format("Si us plau, no escriguis menys de {0} caracters."),
  27 + rangelength: $.validator.format("Si us plau, escriu un valor entre {0} i {1} caracters."),
  28 + range: $.validator.format("Si us plau, escriu un valor entre {0} i {1}."),
  29 + max: $.validator.format("Si us plau, escriu un valor menor o igual a {0}."),
  30 + min: $.validator.format("Si us plau, escriu un valor major o igual a {0}.")
  31 +});
  32 +
  33 +}));
0 \ No newline at end of file 34 \ No newline at end of file
src/main/resources/static/real_control_v2/assets/plugins/jquery-validation/js/localization/messages_ca.min.js 0 → 100644
  1 +/*! jQuery Validation Plugin - v1.14.0 - 6/30/2015
  2 + * http://jqueryvalidation.org/
  3 + * Copyright (c) 2015 Jörn Zaefferer; Licensed MIT */
  4 +!function(a){"function"==typeof define&&define.amd?define(["jquery","../jquery.validate.min"],a):a(jQuery)}(function(a){a.extend(a.validator.messages,{required:"Aquest camp és obligatori.",remote:"Si us plau, omple aquest camp.",email:"Si us plau, escriu una adreça de correu-e vàlida",url:"Si us plau, escriu una URL vàlida.",date:"Si us plau, escriu una data vàlida.",dateISO:"Si us plau, escriu una data (ISO) vàlida.",number:"Si us plau, escriu un número enter vàlid.",digits:"Si us plau, escriu només dígits.",creditcard:"Si us plau, escriu un número de tarjeta vàlid.",equalTo:"Si us plau, escriu el mateix valor de nou.",extension:"Si us plau, escriu un valor amb una extensió acceptada.",maxlength:a.validator.format("Si us plau, no escriguis més de {0} caracters."),minlength:a.validator.format("Si us plau, no escriguis menys de {0} caracters."),rangelength:a.validator.format("Si us plau, escriu un valor entre {0} i {1} caracters."),range:a.validator.format("Si us plau, escriu un valor entre {0} i {1}."),max:a.validator.format("Si us plau, escriu un valor menor o igual a {0}."),min:a.validator.format("Si us plau, escriu un valor major o igual a {0}.")})});
0 \ No newline at end of file 5 \ No newline at end of file
src/main/resources/static/real_control_v2/assets/plugins/jquery-validation/js/localization/messages_cs.js 0 → 100644
  1 +(function( factory ) {
  2 + if ( typeof define === "function" && define.amd ) {
  3 + define( ["jquery", "../jquery.validate"], factory );
  4 + } else {
  5 + factory( jQuery );
  6 + }
  7 +}(function( $ ) {
  8 +
  9 +/*
  10 + * Translated default messages for the jQuery validation plugin.
  11 + * Locale: CS (Czech; čeština, český jazyk)
  12 + */
  13 +$.extend($.validator.messages, {
  14 + required: "Tento údaj je povinný.",
  15 + remote: "Prosím, opravte tento údaj.",
  16 + email: "Prosím, zadejte platný e-mail.",
  17 + url: "Prosím, zadejte platné URL.",
  18 + date: "Prosím, zadejte platné datum.",
  19 + dateISO: "Prosím, zadejte platné datum (ISO).",
  20 + number: "Prosím, zadejte číslo.",
  21 + digits: "Prosím, zadávejte pouze číslice.",
  22 + creditcard: "Prosím, zadejte číslo kreditní karty.",
  23 + equalTo: "Prosím, zadejte znovu stejnou hodnotu.",
  24 + extension: "Prosím, zadejte soubor se správnou příponou.",
  25 + maxlength: $.validator.format("Prosím, zadejte nejvíce {0} znaků."),
  26 + minlength: $.validator.format("Prosím, zadejte nejméně {0} znaků."),
  27 + rangelength: $.validator.format("Prosím, zadejte od {0} do {1} znaků."),
  28 + range: $.validator.format("Prosím, zadejte hodnotu od {0} do {1}."),
  29 + max: $.validator.format("Prosím, zadejte hodnotu menší nebo rovnu {0}."),
  30 + min: $.validator.format("Prosím, zadejte hodnotu větší nebo rovnu {0}.")
  31 +});
  32 +
  33 +}));
0 \ No newline at end of file 34 \ No newline at end of file
src/main/resources/static/real_control_v2/assets/plugins/jquery-validation/js/localization/messages_cs.min.js 0 → 100644
  1 +/*! jQuery Validation Plugin - v1.14.0 - 6/30/2015
  2 + * http://jqueryvalidation.org/
  3 + * Copyright (c) 2015 Jörn Zaefferer; Licensed MIT */
  4 +!function(a){"function"==typeof define&&define.amd?define(["jquery","../jquery.validate.min"],a):a(jQuery)}(function(a){a.extend(a.validator.messages,{required:"Tento údaj je povinný.",remote:"Prosím, opravte tento údaj.",email:"Prosím, zadejte platný e-mail.",url:"Prosím, zadejte platné URL.",date:"Prosím, zadejte platné datum.",dateISO:"Prosím, zadejte platné datum (ISO).",number:"Prosím, zadejte číslo.",digits:"Prosím, zadávejte pouze číslice.",creditcard:"Prosím, zadejte číslo kreditní karty.",equalTo:"Prosím, zadejte znovu stejnou hodnotu.",extension:"Prosím, zadejte soubor se správnou příponou.",maxlength:a.validator.format("Prosím, zadejte nejvíce {0} znaků."),minlength:a.validator.format("Prosím, zadejte nejméně {0} znaků."),rangelength:a.validator.format("Prosím, zadejte od {0} do {1} znaků."),range:a.validator.format("Prosím, zadejte hodnotu od {0} do {1}."),max:a.validator.format("Prosím, zadejte hodnotu menší nebo rovnu {0}."),min:a.validator.format("Prosím, zadejte hodnotu větší nebo rovnu {0}.")})});
0 \ No newline at end of file 5 \ No newline at end of file
src/main/resources/static/real_control_v2/assets/plugins/jquery-validation/js/localization/messages_da.js 0 → 100644
  1 +(function( factory ) {
  2 + if ( typeof define === "function" && define.amd ) {
  3 + define( ["jquery", "../jquery.validate"], factory );
  4 + } else {
  5 + factory( jQuery );
  6 + }
  7 +}(function( $ ) {
  8 +
  9 +/*
  10 + * Translated default messages for the jQuery validation plugin.
  11 + * Locale: DA (Danish; dansk)
  12 + */
  13 +$.extend($.validator.messages, {
  14 + required: "Dette felt er påkrævet.",
  15 + maxlength: $.validator.format("Indtast højst {0} tegn."),
  16 + minlength: $.validator.format("Indtast mindst {0} tegn."),
  17 + rangelength: $.validator.format("Indtast mindst {0} og højst {1} tegn."),
  18 + email: "Indtast en gyldig email-adresse.",
  19 + url: "Indtast en gyldig URL.",
  20 + date: "Indtast en gyldig dato.",
  21 + number: "Indtast et tal.",
  22 + digits: "Indtast kun cifre.",
  23 + equalTo: "Indtast den samme værdi igen.",
  24 + range: $.validator.format("Angiv en værdi mellem {0} og {1}."),
  25 + max: $.validator.format("Angiv en værdi der højst er {0}."),
  26 + min: $.validator.format("Angiv en værdi der mindst er {0}."),
  27 + creditcard: "Indtast et gyldigt kreditkortnummer."
  28 +});
  29 +
  30 +}));
0 \ No newline at end of file 31 \ No newline at end of file
src/main/resources/static/real_control_v2/assets/plugins/jquery-validation/js/localization/messages_da.min.js 0 → 100644
  1 +/*! jQuery Validation Plugin - v1.14.0 - 6/30/2015
  2 + * http://jqueryvalidation.org/
  3 + * Copyright (c) 2015 Jörn Zaefferer; Licensed MIT */
  4 +!function(a){"function"==typeof define&&define.amd?define(["jquery","../jquery.validate.min"],a):a(jQuery)}(function(a){a.extend(a.validator.messages,{required:"Dette felt er påkrævet.",maxlength:a.validator.format("Indtast højst {0} tegn."),minlength:a.validator.format("Indtast mindst {0} tegn."),rangelength:a.validator.format("Indtast mindst {0} og højst {1} tegn."),email:"Indtast en gyldig email-adresse.",url:"Indtast en gyldig URL.",date:"Indtast en gyldig dato.",number:"Indtast et tal.",digits:"Indtast kun cifre.",equalTo:"Indtast den samme værdi igen.",range:a.validator.format("Angiv en værdi mellem {0} og {1}."),max:a.validator.format("Angiv en værdi der højst er {0}."),min:a.validator.format("Angiv en værdi der mindst er {0}."),creditcard:"Indtast et gyldigt kreditkortnummer."})});
0 \ No newline at end of file 5 \ No newline at end of file
src/main/resources/static/real_control_v2/assets/plugins/jquery-validation/js/localization/messages_de.js 0 → 100644
  1 +(function( factory ) {
  2 + if ( typeof define === "function" && define.amd ) {
  3 + define( ["jquery", "../jquery.validate"], factory );
  4 + } else {
  5 + factory( jQuery );
  6 + }
  7 +}(function( $ ) {
  8 +
  9 +/*
  10 + * Translated default messages for the jQuery validation plugin.
  11 + * Locale: DE (German, Deutsch)
  12 + */
  13 +$.extend($.validator.messages, {
  14 + required: "Dieses Feld ist ein Pflichtfeld.",
  15 + maxlength: $.validator.format("Geben Sie bitte maximal {0} Zeichen ein."),
  16 + minlength: $.validator.format("Geben Sie bitte mindestens {0} Zeichen ein."),
  17 + rangelength: $.validator.format("Geben Sie bitte mindestens {0} und maximal {1} Zeichen ein."),
  18 + email: "Geben Sie bitte eine gültige E-Mail Adresse ein.",
  19 + url: "Geben Sie bitte eine gültige URL ein.",
  20 + date: "Bitte geben Sie ein gültiges Datum ein.",
  21 + number: "Geben Sie bitte eine Nummer ein.",
  22 + digits: "Geben Sie bitte nur Ziffern ein.",
  23 + equalTo: "Bitte denselben Wert wiederholen.",
  24 + range: $.validator.format("Geben Sie bitte einen Wert zwischen {0} und {1} ein."),
  25 + max: $.validator.format("Geben Sie bitte einen Wert kleiner oder gleich {0} ein."),
  26 + min: $.validator.format("Geben Sie bitte einen Wert größer oder gleich {0} ein."),
  27 + creditcard: "Geben Sie bitte eine gültige Kreditkarten-Nummer ein."
  28 +});
  29 +
  30 +}));
0 \ No newline at end of file 31 \ No newline at end of file
src/main/resources/static/real_control_v2/assets/plugins/jquery-validation/js/localization/messages_de.min.js 0 → 100644
  1 +/*! jQuery Validation Plugin - v1.14.0 - 6/30/2015
  2 + * http://jqueryvalidation.org/
  3 + * Copyright (c) 2015 Jörn Zaefferer; Licensed MIT */
  4 +!function(a){"function"==typeof define&&define.amd?define(["jquery","../jquery.validate.min"],a):a(jQuery)}(function(a){a.extend(a.validator.messages,{required:"Dieses Feld ist ein Pflichtfeld.",maxlength:a.validator.format("Geben Sie bitte maximal {0} Zeichen ein."),minlength:a.validator.format("Geben Sie bitte mindestens {0} Zeichen ein."),rangelength:a.validator.format("Geben Sie bitte mindestens {0} und maximal {1} Zeichen ein."),email:"Geben Sie bitte eine gültige E-Mail Adresse ein.",url:"Geben Sie bitte eine gültige URL ein.",date:"Bitte geben Sie ein gültiges Datum ein.",number:"Geben Sie bitte eine Nummer ein.",digits:"Geben Sie bitte nur Ziffern ein.",equalTo:"Bitte denselben Wert wiederholen.",range:a.validator.format("Geben Sie bitte einen Wert zwischen {0} und {1} ein."),max:a.validator.format("Geben Sie bitte einen Wert kleiner oder gleich {0} ein."),min:a.validator.format("Geben Sie bitte einen Wert größer oder gleich {0} ein."),creditcard:"Geben Sie bitte eine gültige Kreditkarten-Nummer ein."})});
0 \ No newline at end of file 5 \ No newline at end of file
src/main/resources/static/real_control_v2/assets/plugins/jquery-validation/js/localization/messages_el.js 0 → 100644
  1 +(function( factory ) {
  2 + if ( typeof define === "function" && define.amd ) {
  3 + define( ["jquery", "../jquery.validate"], factory );
  4 + } else {
  5 + factory( jQuery );
  6 + }
  7 +}(function( $ ) {
  8 +
  9 +/*
  10 + * Translated default messages for the jQuery validation plugin.
  11 + * Locale: EL (Greek; ελληνικά)
  12 + */
  13 +$.extend($.validator.messages, {
  14 + required: "Αυτό το πεδίο είναι υποχρεωτικό.",
  15 + remote: "Παρακαλώ διορθώστε αυτό το πεδίο.",
  16 + email: "Παρακαλώ εισάγετε μια έγκυρη διεύθυνση email.",
  17 + url: "Παρακαλώ εισάγετε ένα έγκυρο URL.",
  18 + date: "Παρακαλώ εισάγετε μια έγκυρη ημερομηνία.",
  19 + dateISO: "Παρακαλώ εισάγετε μια έγκυρη ημερομηνία (ISO).",
  20 + number: "Παρακαλώ εισάγετε έναν έγκυρο αριθμό.",
  21 + digits: "Παρακαλώ εισάγετε μόνο αριθμητικά ψηφία.",
  22 + creditcard: "Παρακαλώ εισάγετε έναν έγκυρο αριθμό πιστωτικής κάρτας.",
  23 + equalTo: "Παρακαλώ εισάγετε την ίδια τιμή ξανά.",
  24 + extension: "Παρακαλώ εισάγετε μια τιμή με έγκυρη επέκταση αρχείου.",
  25 + maxlength: $.validator.format("Παρακαλώ εισάγετε μέχρι και {0} χαρακτήρες."),
  26 + minlength: $.validator.format("Παρακαλώ εισάγετε τουλάχιστον {0} χαρακτήρες."),
  27 + rangelength: $.validator.format("Παρακαλώ εισάγετε μια τιμή με μήκος μεταξύ {0} και {1} χαρακτήρων."),
  28 + range: $.validator.format("Παρακαλώ εισάγετε μια τιμή μεταξύ {0} και {1}."),
  29 + max: $.validator.format("Παρακαλώ εισάγετε μια τιμή μικρότερη ή ίση του {0}."),
  30 + min: $.validator.format("Παρακαλώ εισάγετε μια τιμή μεγαλύτερη ή ίση του {0}.")
  31 +});
  32 +
  33 +}));
0 \ No newline at end of file 34 \ No newline at end of file
src/main/resources/static/real_control_v2/assets/plugins/jquery-validation/js/localization/messages_el.min.js 0 → 100644
  1 +/*! jQuery Validation Plugin - v1.14.0 - 6/30/2015
  2 + * http://jqueryvalidation.org/
  3 + * Copyright (c) 2015 Jörn Zaefferer; Licensed MIT */
  4 +!function(a){"function"==typeof define&&define.amd?define(["jquery","../jquery.validate.min"],a):a(jQuery)}(function(a){a.extend(a.validator.messages,{required:"Αυτό το πεδίο είναι υποχρεωτικό.",remote:"Παρακαλώ διορθώστε αυτό το πεδίο.",email:"Παρακαλώ εισάγετε μια έγκυρη διεύθυνση email.",url:"Παρακαλώ εισάγετε ένα έγκυρο URL.",date:"Παρακαλώ εισάγετε μια έγκυρη ημερομηνία.",dateISO:"Παρακαλώ εισάγετε μια έγκυρη ημερομηνία (ISO).",number:"Παρακαλώ εισάγετε έναν έγκυρο αριθμό.",digits:"Παρακαλώ εισάγετε μόνο αριθμητικά ψηφία.",creditcard:"Παρακαλώ εισάγετε έναν έγκυρο αριθμό πιστωτικής κάρτας.",equalTo:"Παρακαλώ εισάγετε την ίδια τιμή ξανά.",extension:"Παρακαλώ εισάγετε μια τιμή με έγκυρη επέκταση αρχείου.",maxlength:a.validator.format("Παρακαλώ εισάγετε μέχρι και {0} χαρακτήρες."),minlength:a.validator.format("Παρακαλώ εισάγετε τουλάχιστον {0} χαρακτήρες."),rangelength:a.validator.format("Παρακαλώ εισάγετε μια τιμή με μήκος μεταξύ {0} και {1} χαρακτήρων."),range:a.validator.format("Παρακαλώ εισάγετε μια τιμή μεταξύ {0} και {1}."),max:a.validator.format("Παρακαλώ εισάγετε μια τιμή μικρότερη ή ίση του {0}."),min:a.validator.format("Παρακαλώ εισάγετε μια τιμή μεγαλύτερη ή ίση του {0}.")})});
0 \ No newline at end of file 5 \ No newline at end of file
src/main/resources/static/real_control_v2/assets/plugins/jquery-validation/js/localization/messages_es.js 0 → 100644
  1 +(function( factory ) {
  2 + if ( typeof define === "function" && define.amd ) {
  3 + define( ["jquery", "../jquery.validate"], factory );
  4 + } else {
  5 + factory( jQuery );
  6 + }
  7 +}(function( $ ) {
  8 +
  9 +/*
  10 + * Translated default messages for the jQuery validation plugin.
  11 + * Locale: ES (Spanish; Español)
  12 + */
  13 +$.extend($.validator.messages, {
  14 + required: "Este campo es obligatorio.",
  15 + remote: "Por favor, rellena este campo.",
  16 + email: "Por favor, escribe una dirección de correo válida.",
  17 + url: "Por favor, escribe una URL válida.",
  18 + date: "Por favor, escribe una fecha válida.",
  19 + dateISO: "Por favor, escribe una fecha (ISO) válida.",
  20 + number: "Por favor, escribe un número válido.",
  21 + digits: "Por favor, escribe sólo dígitos.",
  22 + creditcard: "Por favor, escribe un número de tarjeta válido.",
  23 + equalTo: "Por favor, escribe el mismo valor de nuevo.",
  24 + extension: "Por favor, escribe un valor con una extensión aceptada.",
  25 + maxlength: $.validator.format("Por favor, no escribas más de {0} caracteres."),
  26 + minlength: $.validator.format("Por favor, no escribas menos de {0} caracteres."),
  27 + rangelength: $.validator.format("Por favor, escribe un valor entre {0} y {1} caracteres."),
  28 + range: $.validator.format("Por favor, escribe un valor entre {0} y {1}."),
  29 + max: $.validator.format("Por favor, escribe un valor menor o igual a {0}."),
  30 + min: $.validator.format("Por favor, escribe un valor mayor o igual a {0}."),
  31 + nifES: "Por favor, escribe un NIF válido.",
  32 + nieES: "Por favor, escribe un NIE válido.",
  33 + cifES: "Por favor, escribe un CIF válido."
  34 +});
  35 +
  36 +}));
0 \ No newline at end of file 37 \ No newline at end of file
src/main/resources/static/real_control_v2/assets/plugins/jquery-validation/js/localization/messages_es.min.js 0 → 100644
  1 +/*! jQuery Validation Plugin - v1.14.0 - 6/30/2015
  2 + * http://jqueryvalidation.org/
  3 + * Copyright (c) 2015 Jörn Zaefferer; Licensed MIT */
  4 +!function(a){"function"==typeof define&&define.amd?define(["jquery","../jquery.validate.min"],a):a(jQuery)}(function(a){a.extend(a.validator.messages,{required:"Este campo es obligatorio.",remote:"Por favor, rellena este campo.",email:"Por favor, escribe una dirección de correo válida.",url:"Por favor, escribe una URL válida.",date:"Por favor, escribe una fecha válida.",dateISO:"Por favor, escribe una fecha (ISO) válida.",number:"Por favor, escribe un número válido.",digits:"Por favor, escribe sólo dígitos.",creditcard:"Por favor, escribe un número de tarjeta válido.",equalTo:"Por favor, escribe el mismo valor de nuevo.",extension:"Por favor, escribe un valor con una extensión aceptada.",maxlength:a.validator.format("Por favor, no escribas más de {0} caracteres."),minlength:a.validator.format("Por favor, no escribas menos de {0} caracteres."),rangelength:a.validator.format("Por favor, escribe un valor entre {0} y {1} caracteres."),range:a.validator.format("Por favor, escribe un valor entre {0} y {1}."),max:a.validator.format("Por favor, escribe un valor menor o igual a {0}."),min:a.validator.format("Por favor, escribe un valor mayor o igual a {0}."),nifES:"Por favor, escribe un NIF válido.",nieES:"Por favor, escribe un NIE válido.",cifES:"Por favor, escribe un CIF válido."})});
0 \ No newline at end of file 5 \ No newline at end of file
src/main/resources/static/real_control_v2/assets/plugins/jquery-validation/js/localization/messages_es_AR.js 0 → 100644
  1 +(function( factory ) {
  2 + if ( typeof define === "function" && define.amd ) {
  3 + define( ["jquery", "../jquery.validate"], factory );
  4 + } else {
  5 + factory( jQuery );
  6 + }
  7 +}(function( $ ) {
  8 +
  9 +/*
  10 + * Translated default messages for the jQuery validation plugin.
  11 + * Locale: ES (Spanish; Español)
  12 + * Region: AR (Argentina)
  13 + */
  14 +$.extend($.validator.messages, {
  15 + required: "Este campo es obligatorio.",
  16 + remote: "Por favor, completá este campo.",
  17 + email: "Por favor, escribí una dirección de correo válida.",
  18 + url: "Por favor, escribí una URL válida.",
  19 + date: "Por favor, escribí una fecha válida.",
  20 + dateISO: "Por favor, escribí una fecha (ISO) válida.",
  21 + number: "Por favor, escribí un número entero válido.",
  22 + digits: "Por favor, escribí sólo dígitos.",
  23 + creditcard: "Por favor, escribí un número de tarjeta válido.",
  24 + equalTo: "Por favor, escribí el mismo valor de nuevo.",
  25 + extension: "Por favor, escribí un valor con una extensión aceptada.",
  26 + maxlength: $.validator.format("Por favor, no escribas más de {0} caracteres."),
  27 + minlength: $.validator.format("Por favor, no escribas menos de {0} caracteres."),
  28 + rangelength: $.validator.format("Por favor, escribí un valor entre {0} y {1} caracteres."),
  29 + range: $.validator.format("Por favor, escribí un valor entre {0} y {1}."),
  30 + max: $.validator.format("Por favor, escribí un valor menor o igual a {0}."),
  31 + min: $.validator.format("Por favor, escribí un valor mayor o igual a {0}."),
  32 + nifES: "Por favor, escribí un NIF válido.",
  33 + nieES: "Por favor, escribí un NIE válido.",
  34 + cifES: "Por favor, escribí un CIF válido."
  35 +});
  36 +
  37 +}));
0 \ No newline at end of file 38 \ No newline at end of file
src/main/resources/static/real_control_v2/assets/plugins/jquery-validation/js/localization/messages_es_AR.min.js 0 → 100644
  1 +/*! jQuery Validation Plugin - v1.14.0 - 6/30/2015
  2 + * http://jqueryvalidation.org/
  3 + * Copyright (c) 2015 Jörn Zaefferer; Licensed MIT */
  4 +!function(a){"function"==typeof define&&define.amd?define(["jquery","../jquery.validate.min"],a):a(jQuery)}(function(a){a.extend(a.validator.messages,{required:"Este campo es obligatorio.",remote:"Por favor, completá este campo.",email:"Por favor, escribí una dirección de correo válida.",url:"Por favor, escribí una URL válida.",date:"Por favor, escribí una fecha válida.",dateISO:"Por favor, escribí una fecha (ISO) válida.",number:"Por favor, escribí un número entero válido.",digits:"Por favor, escribí sólo dígitos.",creditcard:"Por favor, escribí un número de tarjeta válido.",equalTo:"Por favor, escribí el mismo valor de nuevo.",extension:"Por favor, escribí un valor con una extensión aceptada.",maxlength:a.validator.format("Por favor, no escribas más de {0} caracteres."),minlength:a.validator.format("Por favor, no escribas menos de {0} caracteres."),rangelength:a.validator.format("Por favor, escribí un valor entre {0} y {1} caracteres."),range:a.validator.format("Por favor, escribí un valor entre {0} y {1}."),max:a.validator.format("Por favor, escribí un valor menor o igual a {0}."),min:a.validator.format("Por favor, escribí un valor mayor o igual a {0}."),nifES:"Por favor, escribí un NIF válido.",nieES:"Por favor, escribí un NIE válido.",cifES:"Por favor, escribí un CIF válido."})});
0 \ No newline at end of file 5 \ No newline at end of file
src/main/resources/static/real_control_v2/assets/plugins/jquery-validation/js/localization/messages_es_PE.js 0 → 100644
  1 +(function( factory ) {
  2 + if ( typeof define === "function" && define.amd ) {
  3 + define( ["jquery", "../jquery.validate"], factory );
  4 + } else {
  5 + factory( jQuery );
  6 + }
  7 +}(function( $ ) {
  8 +
  9 +/*
  10 + * Translated default messages for the jQuery validation plugin.
  11 + * Locale: ES (Spanish; Español)
  12 + * Region: PE (Perú)
  13 + */
  14 +$.extend($.validator.messages, {
  15 + required: "Este campo es obligatorio.",
  16 + remote: "Por favor, llene este campo.",
  17 + email: "Por favor, escriba un correo electrónico válido.",
  18 + url: "Por favor, escriba una URL válida.",
  19 + date: "Por favor, escriba una fecha válida.",
  20 + dateISO: "Por favor, escriba una fecha (ISO) válida.",
  21 + number: "Por favor, escriba un número válido.",
  22 + digits: "Por favor, escriba sólo dígitos.",
  23 + creditcard: "Por favor, escriba un número de tarjeta válido.",
  24 + equalTo: "Por favor, escriba el mismo valor de nuevo.",
  25 + extension: "Por favor, escriba un valor con una extensión permitida.",
  26 + maxlength: $.validator.format("Por favor, no escriba más de {0} caracteres."),
  27 + minlength: $.validator.format("Por favor, no escriba menos de {0} caracteres."),
  28 + rangelength: $.validator.format("Por favor, escriba un valor entre {0} y {1} caracteres."),
  29 + range: $.validator.format("Por favor, escriba un valor entre {0} y {1}."),
  30 + max: $.validator.format("Por favor, escriba un valor menor o igual a {0}."),
  31 + min: $.validator.format("Por favor, escriba un valor mayor o igual a {0}."),
  32 + nifES: "Por favor, escriba un NIF válido.",
  33 + nieES: "Por favor, escriba un NIE válido.",
  34 + cifES: "Por favor, escriba un CIF válido."
  35 +});
  36 +
  37 +}));
0 \ No newline at end of file 38 \ No newline at end of file
src/main/resources/static/real_control_v2/assets/plugins/jquery-validation/js/localization/messages_es_PE.min.js 0 → 100644
  1 +/*! jQuery Validation Plugin - v1.14.0 - 6/30/2015
  2 + * http://jqueryvalidation.org/
  3 + * Copyright (c) 2015 Jörn Zaefferer; Licensed MIT */
  4 +!function(a){"function"==typeof define&&define.amd?define(["jquery","../jquery.validate.min"],a):a(jQuery)}(function(a){a.extend(a.validator.messages,{required:"Este campo es obligatorio.",remote:"Por favor, llene este campo.",email:"Por favor, escriba un correo electrónico válido.",url:"Por favor, escriba una URL válida.",date:"Por favor, escriba una fecha válida.",dateISO:"Por favor, escriba una fecha (ISO) válida.",number:"Por favor, escriba un número válido.",digits:"Por favor, escriba sólo dígitos.",creditcard:"Por favor, escriba un número de tarjeta válido.",equalTo:"Por favor, escriba el mismo valor de nuevo.",extension:"Por favor, escriba un valor con una extensión permitida.",maxlength:a.validator.format("Por favor, no escriba más de {0} caracteres."),minlength:a.validator.format("Por favor, no escriba menos de {0} caracteres."),rangelength:a.validator.format("Por favor, escriba un valor entre {0} y {1} caracteres."),range:a.validator.format("Por favor, escriba un valor entre {0} y {1}."),max:a.validator.format("Por favor, escriba un valor menor o igual a {0}."),min:a.validator.format("Por favor, escriba un valor mayor o igual a {0}."),nifES:"Por favor, escriba un NIF válido.",nieES:"Por favor, escriba un NIE válido.",cifES:"Por favor, escriba un CIF válido."})});
0 \ No newline at end of file 5 \ No newline at end of file
src/main/resources/static/real_control_v2/assets/plugins/jquery-validation/js/localization/messages_et.js 0 → 100644
  1 +(function( factory ) {
  2 + if ( typeof define === "function" && define.amd ) {
  3 + define( ["jquery", "../jquery.validate"], factory );
  4 + } else {
  5 + factory( jQuery );
  6 + }
  7 +}(function( $ ) {
  8 +
  9 +/*
  10 + * Translated default messages for the jQuery validation plugin.
  11 + * Locale: ET (Estonian; eesti, eesti keel)
  12 + */
  13 +$.extend($.validator.messages, {
  14 + required: "See väli peab olema täidetud.",
  15 + maxlength: $.validator.format("Palun sisestage vähem kui {0} tähemärki."),
  16 + minlength: $.validator.format("Palun sisestage vähemalt {0} tähemärki."),
  17 + rangelength: $.validator.format("Palun sisestage väärtus vahemikus {0} kuni {1} tähemärki."),
  18 + email: "Palun sisestage korrektne e-maili aadress.",
  19 + url: "Palun sisestage korrektne URL.",
  20 + date: "Palun sisestage korrektne kuupäev.",
  21 + dateISO: "Palun sisestage korrektne kuupäev (YYYY-MM-DD).",
  22 + number: "Palun sisestage korrektne number.",
  23 + digits: "Palun sisestage ainult numbreid.",
  24 + equalTo: "Palun sisestage sama väärtus uuesti.",
  25 + range: $.validator.format("Palun sisestage väärtus vahemikus {0} kuni {1}."),
  26 + max: $.validator.format("Palun sisestage väärtus, mis on väiksem või võrdne arvuga {0}."),
  27 + min: $.validator.format("Palun sisestage väärtus, mis on suurem või võrdne arvuga {0}."),
  28 + creditcard: "Palun sisestage korrektne krediitkaardi number."
  29 +});
  30 +
  31 +}));
0 \ No newline at end of file 32 \ No newline at end of file
src/main/resources/static/real_control_v2/assets/plugins/jquery-validation/js/localization/messages_et.min.js 0 → 100644
  1 +/*! jQuery Validation Plugin - v1.14.0 - 6/30/2015
  2 + * http://jqueryvalidation.org/
  3 + * Copyright (c) 2015 Jörn Zaefferer; Licensed MIT */
  4 +!function(a){"function"==typeof define&&define.amd?define(["jquery","../jquery.validate.min"],a):a(jQuery)}(function(a){a.extend(a.validator.messages,{required:"See väli peab olema täidetud.",maxlength:a.validator.format("Palun sisestage vähem kui {0} tähemärki."),minlength:a.validator.format("Palun sisestage vähemalt {0} tähemärki."),rangelength:a.validator.format("Palun sisestage väärtus vahemikus {0} kuni {1} tähemärki."),email:"Palun sisestage korrektne e-maili aadress.",url:"Palun sisestage korrektne URL.",date:"Palun sisestage korrektne kuupäev.",dateISO:"Palun sisestage korrektne kuupäev (YYYY-MM-DD).",number:"Palun sisestage korrektne number.",digits:"Palun sisestage ainult numbreid.",equalTo:"Palun sisestage sama väärtus uuesti.",range:a.validator.format("Palun sisestage väärtus vahemikus {0} kuni {1}."),max:a.validator.format("Palun sisestage väärtus, mis on väiksem või võrdne arvuga {0}."),min:a.validator.format("Palun sisestage väärtus, mis on suurem või võrdne arvuga {0}."),creditcard:"Palun sisestage korrektne krediitkaardi number."})});
0 \ No newline at end of file 5 \ No newline at end of file
src/main/resources/static/real_control_v2/assets/plugins/jquery-validation/js/localization/messages_eu.js 0 → 100644
  1 +(function( factory ) {
  2 + if ( typeof define === "function" && define.amd ) {
  3 + define( ["jquery", "../jquery.validate"], factory );
  4 + } else {
  5 + factory( jQuery );
  6 + }
  7 +}(function( $ ) {
  8 +
  9 +/*
  10 + * Translated default messages for the jQuery validation plugin.
  11 + * Locale: EU (Basque; euskara, euskera)
  12 + */
  13 +$.extend($.validator.messages, {
  14 + required: "Eremu hau beharrezkoa da.",
  15 + remote: "Mesedez, bete eremu hau.",
  16 + email: "Mesedez, idatzi baliozko posta helbide bat.",
  17 + url: "Mesedez, idatzi baliozko URL bat.",
  18 + date: "Mesedez, idatzi baliozko data bat.",
  19 + dateISO: "Mesedez, idatzi baliozko (ISO) data bat.",
  20 + number: "Mesedez, idatzi baliozko zenbaki oso bat.",
  21 + digits: "Mesedez, idatzi digituak soilik.",
  22 + creditcard: "Mesedez, idatzi baliozko txartel zenbaki bat.",
  23 + equalTo: "Mesedez, idatzi berdina berriro ere.",
  24 + extension: "Mesedez, idatzi onartutako luzapena duen balio bat.",
  25 + maxlength: $.validator.format("Mesedez, ez idatzi {0} karaktere baino gehiago."),
  26 + minlength: $.validator.format("Mesedez, ez idatzi {0} karaktere baino gutxiago."),
  27 + rangelength: $.validator.format("Mesedez, idatzi {0} eta {1} karaktere arteko balio bat."),
  28 + range: $.validator.format("Mesedez, idatzi {0} eta {1} arteko balio bat."),
  29 + max: $.validator.format("Mesedez, idatzi {0} edo txikiagoa den balio bat."),
  30 + min: $.validator.format("Mesedez, idatzi {0} edo handiagoa den balio bat.")
  31 +});
  32 +
  33 +}));
0 \ No newline at end of file 34 \ No newline at end of file
src/main/resources/static/real_control_v2/assets/plugins/jquery-validation/js/localization/messages_eu.min.js 0 → 100644
  1 +/*! jQuery Validation Plugin - v1.14.0 - 6/30/2015
  2 + * http://jqueryvalidation.org/
  3 + * Copyright (c) 2015 Jörn Zaefferer; Licensed MIT */
  4 +!function(a){"function"==typeof define&&define.amd?define(["jquery","../jquery.validate.min"],a):a(jQuery)}(function(a){a.extend(a.validator.messages,{required:"Eremu hau beharrezkoa da.",remote:"Mesedez, bete eremu hau.",email:"Mesedez, idatzi baliozko posta helbide bat.",url:"Mesedez, idatzi baliozko URL bat.",date:"Mesedez, idatzi baliozko data bat.",dateISO:"Mesedez, idatzi baliozko (ISO) data bat.",number:"Mesedez, idatzi baliozko zenbaki oso bat.",digits:"Mesedez, idatzi digituak soilik.",creditcard:"Mesedez, idatzi baliozko txartel zenbaki bat.",equalTo:"Mesedez, idatzi berdina berriro ere.",extension:"Mesedez, idatzi onartutako luzapena duen balio bat.",maxlength:a.validator.format("Mesedez, ez idatzi {0} karaktere baino gehiago."),minlength:a.validator.format("Mesedez, ez idatzi {0} karaktere baino gutxiago."),rangelength:a.validator.format("Mesedez, idatzi {0} eta {1} karaktere arteko balio bat."),range:a.validator.format("Mesedez, idatzi {0} eta {1} arteko balio bat."),max:a.validator.format("Mesedez, idatzi {0} edo txikiagoa den balio bat."),min:a.validator.format("Mesedez, idatzi {0} edo handiagoa den balio bat.")})});
0 \ No newline at end of file 5 \ No newline at end of file
src/main/resources/static/real_control_v2/assets/plugins/jquery-validation/js/localization/messages_fa.js 0 → 100644
  1 +(function( factory ) {
  2 + if ( typeof define === "function" && define.amd ) {
  3 + define( ["jquery", "../jquery.validate"], factory );
  4 + } else {
  5 + factory( jQuery );
  6 + }
  7 +}(function( $ ) {
  8 +
  9 +/*
  10 + * Translated default messages for the jQuery validation plugin.
  11 + * Locale: FA (Persian; فارسی)
  12 + */
  13 +$.extend($.validator.messages, {
  14 + required: "تکمیل این فیلد اجباری است.",
  15 + remote: "لطفا این فیلد را تصحیح کنید.",
  16 + email: ".لطفا یک ایمیل صحیح وارد کنید",
  17 + url: "لطفا آدرس صحیح وارد کنید.",
  18 + date: "لطفا یک تاریخ صحیح وارد کنید",
  19 + dateFA: "لطفا یک تاریخ صحیح وارد کنید",
  20 + dateISO: "لطفا تاریخ صحیح وارد کنید (ISO).",
  21 + number: "لطفا عدد صحیح وارد کنید.",
  22 + digits: "لطفا تنها رقم وارد کنید",
  23 + creditcard: "لطفا کریدیت کارت صحیح وارد کنید.",
  24 + equalTo: "لطفا مقدار برابری وارد کنید",
  25 + extension: "لطفا مقداری وارد کنید که ",
  26 + maxlength: $.validator.format("لطفا بیشتر از {0} حرف وارد نکنید."),
  27 + minlength: $.validator.format("لطفا کمتر از {0} حرف وارد نکنید."),
  28 + rangelength: $.validator.format("لطفا مقداری بین {0} تا {1} حرف وارد کنید."),
  29 + range: $.validator.format("لطفا مقداری بین {0} تا {1} حرف وارد کنید."),
  30 + max: $.validator.format("لطفا مقداری کمتر از {0} حرف وارد کنید."),
  31 + min: $.validator.format("لطفا مقداری بیشتر از {0} حرف وارد کنید."),
  32 + minWords: $.validator.format("لطفا حداقل {0} کلمه وارد کنید."),
  33 + maxWords: $.validator.format("لطفا حداکثر {0} کلمه وارد کنید.")
  34 +});
  35 +
  36 +}));
0 \ No newline at end of file 37 \ No newline at end of file
src/main/resources/static/real_control_v2/assets/plugins/jquery-validation/js/localization/messages_fa.min.js 0 → 100644
  1 +/*! jQuery Validation Plugin - v1.14.0 - 6/30/2015
  2 + * http://jqueryvalidation.org/
  3 + * Copyright (c) 2015 Jörn Zaefferer; Licensed MIT */
  4 +!function(a){"function"==typeof define&&define.amd?define(["jquery","../jquery.validate.min"],a):a(jQuery)}(function(a){a.extend(a.validator.messages,{required:"تکمیل این فیلد اجباری است.",remote:"لطفا این فیلد را تصحیح کنید.",email:".لطفا یک ایمیل صحیح وارد کنید",url:"لطفا آدرس صحیح وارد کنید.",date:"لطفا یک تاریخ صحیح وارد کنید",dateFA:"لطفا یک تاریخ صحیح وارد کنید",dateISO:"لطفا تاریخ صحیح وارد کنید (ISO).",number:"لطفا عدد صحیح وارد کنید.",digits:"لطفا تنها رقم وارد کنید",creditcard:"لطفا کریدیت کارت صحیح وارد کنید.",equalTo:"لطفا مقدار برابری وارد کنید",extension:"لطفا مقداری وارد کنید که ",maxlength:a.validator.format("لطفا بیشتر از {0} حرف وارد نکنید."),minlength:a.validator.format("لطفا کمتر از {0} حرف وارد نکنید."),rangelength:a.validator.format("لطفا مقداری بین {0} تا {1} حرف وارد کنید."),range:a.validator.format("لطفا مقداری بین {0} تا {1} حرف وارد کنید."),max:a.validator.format("لطفا مقداری کمتر از {0} حرف وارد کنید."),min:a.validator.format("لطفا مقداری بیشتر از {0} حرف وارد کنید."),minWords:a.validator.format("لطفا حداقل {0} کلمه وارد کنید."),maxWords:a.validator.format("لطفا حداکثر {0} کلمه وارد کنید.")})});
0 \ No newline at end of file 5 \ No newline at end of file
src/main/resources/static/real_control_v2/assets/plugins/jquery-validation/js/localization/messages_fi.js 0 → 100644
  1 +(function( factory ) {
  2 + if ( typeof define === "function" && define.amd ) {
  3 + define( ["jquery", "../jquery.validate"], factory );
  4 + } else {
  5 + factory( jQuery );
  6 + }
  7 +}(function( $ ) {
  8 +
  9 +/*
  10 + * Translated default messages for the jQuery validation plugin.
  11 + * Locale: FI (Finnish; suomi, suomen kieli)
  12 + */
  13 +$.extend($.validator.messages, {
  14 + required: "T&auml;m&auml; kentt&auml; on pakollinen.",
  15 + email: "Sy&ouml;t&auml; oikea s&auml;hk&ouml;postiosoite.",
  16 + url: "Sy&ouml;t&auml; oikea URL-osoite.",
  17 + date: "Sy&ouml;t&auml; oikea p&auml;iv&auml;m&auml;&auml;r&auml;.",
  18 + dateISO: "Sy&ouml;t&auml; oikea p&auml;iv&auml;m&auml;&auml;r&auml; muodossa VVVV-KK-PP.",
  19 + number: "Sy&ouml;t&auml; luku.",
  20 + creditcard: "Sy&ouml;t&auml; voimassa oleva luottokorttinumero.",
  21 + digits: "Sy&ouml;t&auml; pelk&auml;st&auml;&auml;n numeroita.",
  22 + equalTo: "Sy&ouml;t&auml; sama arvo uudestaan.",
  23 + maxlength: $.validator.format("Voit sy&ouml;tt&auml;&auml; enint&auml;&auml;n {0} merkki&auml;."),
  24 + minlength: $.validator.format("V&auml;hint&auml;&auml;n {0} merkki&auml;."),
  25 + rangelength: $.validator.format("Sy&ouml;t&auml; v&auml;hint&auml;&auml;n {0} ja enint&auml;&auml;n {1} merkki&auml;."),
  26 + range: $.validator.format("Sy&ouml;t&auml; arvo v&auml;lilt&auml; {0}&ndash;{1}."),
  27 + max: $.validator.format("Sy&ouml;t&auml; arvo, joka on enint&auml;&auml;n {0}."),
  28 + min: $.validator.format("Sy&ouml;t&auml; arvo, joka on v&auml;hint&auml;&auml;n {0}.")
  29 +});
  30 +
  31 +}));
0 \ No newline at end of file 32 \ No newline at end of file
src/main/resources/static/real_control_v2/assets/plugins/jquery-validation/js/localization/messages_fi.min.js 0 → 100644
  1 +/*! jQuery Validation Plugin - v1.14.0 - 6/30/2015
  2 + * http://jqueryvalidation.org/
  3 + * Copyright (c) 2015 Jörn Zaefferer; Licensed MIT */
  4 +!function(a){"function"==typeof define&&define.amd?define(["jquery","../jquery.validate.min"],a):a(jQuery)}(function(a){a.extend(a.validator.messages,{required:"T&auml;m&auml; kentt&auml; on pakollinen.",email:"Sy&ouml;t&auml; oikea s&auml;hk&ouml;postiosoite.",url:"Sy&ouml;t&auml; oikea URL-osoite.",date:"Sy&ouml;t&auml; oikea p&auml;iv&auml;m&auml;&auml;r&auml;.",dateISO:"Sy&ouml;t&auml; oikea p&auml;iv&auml;m&auml;&auml;r&auml; muodossa VVVV-KK-PP.",number:"Sy&ouml;t&auml; luku.",creditcard:"Sy&ouml;t&auml; voimassa oleva luottokorttinumero.",digits:"Sy&ouml;t&auml; pelk&auml;st&auml;&auml;n numeroita.",equalTo:"Sy&ouml;t&auml; sama arvo uudestaan.",maxlength:a.validator.format("Voit sy&ouml;tt&auml;&auml; enint&auml;&auml;n {0} merkki&auml;."),minlength:a.validator.format("V&auml;hint&auml;&auml;n {0} merkki&auml;."),rangelength:a.validator.format("Sy&ouml;t&auml; v&auml;hint&auml;&auml;n {0} ja enint&auml;&auml;n {1} merkki&auml;."),range:a.validator.format("Sy&ouml;t&auml; arvo v&auml;lilt&auml; {0}&ndash;{1}."),max:a.validator.format("Sy&ouml;t&auml; arvo, joka on enint&auml;&auml;n {0}."),min:a.validator.format("Sy&ouml;t&auml; arvo, joka on v&auml;hint&auml;&auml;n {0}.")})});
0 \ No newline at end of file 5 \ No newline at end of file
src/main/resources/static/real_control_v2/assets/plugins/jquery-validation/js/localization/messages_fr.js 0 → 100644
  1 +(function( factory ) {
  2 + if ( typeof define === "function" && define.amd ) {
  3 + define( ["jquery", "../jquery.validate"], factory );
  4 + } else {
  5 + factory( jQuery );
  6 + }
  7 +}(function( $ ) {
  8 +
  9 +/*
  10 + * Translated default messages for the jQuery validation plugin.
  11 + * Locale: FR (French; français)
  12 + */
  13 +$.extend($.validator.messages, {
  14 + required: "Ce champ est obligatoire.",
  15 + remote: "Veuillez corriger ce champ.",
  16 + email: "Veuillez fournir une adresse électronique valide.",
  17 + url: "Veuillez fournir une adresse URL valide.",
  18 + date: "Veuillez fournir une date valide.",
  19 + dateISO: "Veuillez fournir une date valide (ISO).",
  20 + number: "Veuillez fournir un numéro valide.",
  21 + digits: "Veuillez fournir seulement des chiffres.",
  22 + creditcard: "Veuillez fournir un numéro de carte de crédit valide.",
  23 + equalTo: "Veuillez fournir encore la même valeur.",
  24 + extension: "Veuillez fournir une valeur avec une extension valide.",
  25 + maxlength: $.validator.format("Veuillez fournir au plus {0} caractères."),
  26 + minlength: $.validator.format("Veuillez fournir au moins {0} caractères."),
  27 + rangelength: $.validator.format("Veuillez fournir une valeur qui contient entre {0} et {1} caractères."),
  28 + range: $.validator.format("Veuillez fournir une valeur entre {0} et {1}."),
  29 + max: $.validator.format("Veuillez fournir une valeur inférieure ou égale à {0}."),
  30 + min: $.validator.format("Veuillez fournir une valeur supérieure ou égale à {0}."),
  31 + maxWords: $.validator.format("Veuillez fournir au plus {0} mots."),
  32 + minWords: $.validator.format("Veuillez fournir au moins {0} mots."),
  33 + rangeWords: $.validator.format("Veuillez fournir entre {0} et {1} mots."),
  34 + letterswithbasicpunc: "Veuillez fournir seulement des lettres et des signes de ponctuation.",
  35 + alphanumeric: "Veuillez fournir seulement des lettres, nombres, espaces et soulignages.",
  36 + lettersonly: "Veuillez fournir seulement des lettres.",
  37 + nowhitespace: "Veuillez ne pas inscrire d'espaces blancs.",
  38 + ziprange: "Veuillez fournir un code postal entre 902xx-xxxx et 905-xx-xxxx.",
  39 + integer: "Veuillez fournir un nombre non décimal qui est positif ou négatif.",
  40 + vinUS: "Veuillez fournir un numéro d'identification du véhicule (VIN).",
  41 + dateITA: "Veuillez fournir une date valide.",
  42 + time: "Veuillez fournir une heure valide entre 00:00 et 23:59.",
  43 + phoneUS: "Veuillez fournir un numéro de téléphone valide.",
  44 + phoneUK: "Veuillez fournir un numéro de téléphone valide.",
  45 + mobileUK: "Veuillez fournir un numéro de téléphone mobile valide.",
  46 + strippedminlength: $.validator.format("Veuillez fournir au moins {0} caractères."),
  47 + email2: "Veuillez fournir une adresse électronique valide.",
  48 + url2: "Veuillez fournir une adresse URL valide.",
  49 + creditcardtypes: "Veuillez fournir un numéro de carte de crédit valide.",
  50 + ipv4: "Veuillez fournir une adresse IP v4 valide.",
  51 + ipv6: "Veuillez fournir une adresse IP v6 valide.",
  52 + require_from_group: "Veuillez fournir au moins {0} de ces champs.",
  53 + nifES: "Veuillez fournir un numéro NIF valide.",
  54 + nieES: "Veuillez fournir un numéro NIE valide.",
  55 + cifES: "Veuillez fournir un numéro CIF valide.",
  56 + postalCodeCA: "Veuillez fournir un code postal valide."
  57 +});
  58 +
  59 +}));
0 \ No newline at end of file 60 \ No newline at end of file
src/main/resources/static/real_control_v2/assets/plugins/jquery-validation/js/localization/messages_fr.min.js 0 → 100644
  1 +/*! jQuery Validation Plugin - v1.14.0 - 6/30/2015
  2 + * http://jqueryvalidation.org/
  3 + * Copyright (c) 2015 Jörn Zaefferer; Licensed MIT */
  4 +!function(a){"function"==typeof define&&define.amd?define(["jquery","../jquery.validate.min"],a):a(jQuery)}(function(a){a.extend(a.validator.messages,{required:"Ce champ est obligatoire.",remote:"Veuillez corriger ce champ.",email:"Veuillez fournir une adresse électronique valide.",url:"Veuillez fournir une adresse URL valide.",date:"Veuillez fournir une date valide.",dateISO:"Veuillez fournir une date valide (ISO).",number:"Veuillez fournir un numéro valide.",digits:"Veuillez fournir seulement des chiffres.",creditcard:"Veuillez fournir un numéro de carte de crédit valide.",equalTo:"Veuillez fournir encore la même valeur.",extension:"Veuillez fournir une valeur avec une extension valide.",maxlength:a.validator.format("Veuillez fournir au plus {0} caractères."),minlength:a.validator.format("Veuillez fournir au moins {0} caractères."),rangelength:a.validator.format("Veuillez fournir une valeur qui contient entre {0} et {1} caractères."),range:a.validator.format("Veuillez fournir une valeur entre {0} et {1}."),max:a.validator.format("Veuillez fournir une valeur inférieure ou égale à {0}."),min:a.validator.format("Veuillez fournir une valeur supérieure ou égale à {0}."),maxWords:a.validator.format("Veuillez fournir au plus {0} mots."),minWords:a.validator.format("Veuillez fournir au moins {0} mots."),rangeWords:a.validator.format("Veuillez fournir entre {0} et {1} mots."),letterswithbasicpunc:"Veuillez fournir seulement des lettres et des signes de ponctuation.",alphanumeric:"Veuillez fournir seulement des lettres, nombres, espaces et soulignages.",lettersonly:"Veuillez fournir seulement des lettres.",nowhitespace:"Veuillez ne pas inscrire d'espaces blancs.",ziprange:"Veuillez fournir un code postal entre 902xx-xxxx et 905-xx-xxxx.",integer:"Veuillez fournir un nombre non décimal qui est positif ou négatif.",vinUS:"Veuillez fournir un numéro d'identification du véhicule (VIN).",dateITA:"Veuillez fournir une date valide.",time:"Veuillez fournir une heure valide entre 00:00 et 23:59.",phoneUS:"Veuillez fournir un numéro de téléphone valide.",phoneUK:"Veuillez fournir un numéro de téléphone valide.",mobileUK:"Veuillez fournir un numéro de téléphone mobile valide.",strippedminlength:a.validator.format("Veuillez fournir au moins {0} caractères."),email2:"Veuillez fournir une adresse électronique valide.",url2:"Veuillez fournir une adresse URL valide.",creditcardtypes:"Veuillez fournir un numéro de carte de crédit valide.",ipv4:"Veuillez fournir une adresse IP v4 valide.",ipv6:"Veuillez fournir une adresse IP v6 valide.",require_from_group:"Veuillez fournir au moins {0} de ces champs.",nifES:"Veuillez fournir un numéro NIF valide.",nieES:"Veuillez fournir un numéro NIE valide.",cifES:"Veuillez fournir un numéro CIF valide.",postalCodeCA:"Veuillez fournir un code postal valide."})});
0 \ No newline at end of file 5 \ No newline at end of file
src/main/resources/static/real_control_v2/assets/plugins/jquery-validation/js/localization/messages_ge.js 0 → 100644
  1 +(function( factory ) {
  2 + if ( typeof define === "function" && define.amd ) {
  3 + define( ["jquery", "../jquery.validate"], factory );
  4 + } else {
  5 + factory( jQuery );
  6 + }
  7 +}(function( $ ) {
  8 +
  9 +/**
  10 + * @author @tatocaster <kutaliatato@gmail.com>
  11 + * Translated default messages for the jQuery validation plugin.
  12 + * Locale: GE (Georgian; ქართული)
  13 + */
  14 +$.extend($.validator.messages, {
  15 + required: "ეს ველი სავალდებულოა",
  16 + remote: "გთხოვთ შეასწოროთ.",
  17 + email: "გთხოვთ შეიყვანოთ სწორი ფორმატით.",
  18 + url: "გთხოვთ შეიყვანოთ სწორი ფორმატით.",
  19 + date: "გთხოვთ შეიყვანოთ სწორი თარიღი.",
  20 + dateISO: "გთხოვთ შეიყვანოთ სწორი ფორმატით ( ISO ).",
  21 + number: "გთხოვთ შეიყვანოთ რიცხვი.",
  22 + digits: "დაშვებულია მხოლოდ ციფრები.",
  23 + creditcard: "გთხოვთ შეიყვანოთ სწორი ფორმატის ბარათის კოდი.",
  24 + equalTo: "გთხოვთ შეიყვანოთ იგივე მნიშვნელობა.",
  25 + maxlength: $.validator.format( "გთხოვთ შეიყვანოთ არა უმეტეს {0} სიმბოლოსი." ),
  26 + minlength: $.validator.format( "შეიყვანეთ მინიმუმ {0} სიმბოლო." ),
  27 + rangelength: $.validator.format( "გთხოვთ შეიყვანოთ {0} -დან {1} -მდე რაოდენობის სიმბოლოები." ),
  28 + range: $.validator.format( "შეიყვანეთ {0} -სა {1} -ს შორის." ),
  29 + max: $.validator.format( "გთხოვთ შეიყვანოთ მნიშვნელობა ნაკლები ან ტოლი {0} -ს." ),
  30 + min: $.validator.format( "გთხოვთ შეიყვანოთ მნიშვნელობა მეტი ან ტოლი {0} -ს." )
  31 +});
  32 +
  33 +}));
0 \ No newline at end of file 34 \ No newline at end of file
src/main/resources/static/real_control_v2/assets/plugins/jquery-validation/js/localization/messages_ge.min.js 0 → 100644
  1 +/*! jQuery Validation Plugin - v1.14.0 - 6/30/2015
  2 + * http://jqueryvalidation.org/
  3 + * Copyright (c) 2015 Jörn Zaefferer; Licensed MIT */
  4 +!function(a){"function"==typeof define&&define.amd?define(["jquery","../jquery.validate.min"],a):a(jQuery)}(function(a){a.extend(a.validator.messages,{required:"ეს ველი სავალდებულოა",remote:"გთხოვთ შეასწოროთ.",email:"გთხოვთ შეიყვანოთ სწორი ფორმატით.",url:"გთხოვთ შეიყვანოთ სწორი ფორმატით.",date:"გთხოვთ შეიყვანოთ სწორი თარიღი.",dateISO:"გთხოვთ შეიყვანოთ სწორი ფორმატით ( ISO ).",number:"გთხოვთ შეიყვანოთ რიცხვი.",digits:"დაშვებულია მხოლოდ ციფრები.",creditcard:"გთხოვთ შეიყვანოთ სწორი ფორმატის ბარათის კოდი.",equalTo:"გთხოვთ შეიყვანოთ იგივე მნიშვნელობა.",maxlength:a.validator.format("გთხოვთ შეიყვანოთ არა უმეტეს {0} სიმბოლოსი."),minlength:a.validator.format("შეიყვანეთ მინიმუმ {0} სიმბოლო."),rangelength:a.validator.format("გთხოვთ შეიყვანოთ {0} -დან {1} -მდე რაოდენობის სიმბოლოები."),range:a.validator.format("შეიყვანეთ {0} -სა {1} -ს შორის."),max:a.validator.format("გთხოვთ შეიყვანოთ მნიშვნელობა ნაკლები ან ტოლი {0} -ს."),min:a.validator.format("გთხოვთ შეიყვანოთ მნიშვნელობა მეტი ან ტოლი {0} -ს.")})});
0 \ No newline at end of file 5 \ No newline at end of file
src/main/resources/static/real_control_v2/assets/plugins/jquery-validation/js/localization/messages_gl.js 0 → 100644
  1 +(function( factory ) {
  2 + if ( typeof define === "function" && define.amd ) {
  3 + define( ["jquery", "../jquery.validate"], factory );
  4 + } else {
  5 + factory( jQuery );
  6 + }
  7 +}(function( $ ) {
  8 +
  9 +/*
  10 + * Translated default messages for the jQuery validation plugin.
  11 + * Locale: GL (Galician; Galego)
  12 + */
  13 +(function($) {
  14 + $.extend($.validator.messages, {
  15 + required: "Este campo é obrigatorio.",
  16 + remote: "Por favor, cubre este campo.",
  17 + email: "Por favor, escribe unha dirección de correo válida.",
  18 + url: "Por favor, escribe unha URL válida.",
  19 + date: "Por favor, escribe unha data válida.",
  20 + dateISO: "Por favor, escribe unha data (ISO) válida.",
  21 + number: "Por favor, escribe un número válido.",
  22 + digits: "Por favor, escribe só díxitos.",
  23 + creditcard: "Por favor, escribe un número de tarxeta válido.",
  24 + equalTo: "Por favor, escribe o mesmo valor de novo.",
  25 + extension: "Por favor, escribe un valor cunha extensión aceptada.",
  26 + maxlength: $.validator.format("Por favor, non escribas máis de {0} caracteres."),
  27 + minlength: $.validator.format("Por favor, non escribas menos de {0} caracteres."),
  28 + rangelength: $.validator.format("Por favor, escribe un valor entre {0} e {1} caracteres."),
  29 + range: $.validator.format("Por favor, escribe un valor entre {0} e {1}."),
  30 + max: $.validator.format("Por favor, escribe un valor menor ou igual a {0}."),
  31 + min: $.validator.format("Por favor, escribe un valor maior ou igual a {0}."),
  32 + nifES: "Por favor, escribe un NIF válido.",
  33 + nieES: "Por favor, escribe un NIE válido.",
  34 + cifES: "Por favor, escribe un CIF válido."
  35 + });
  36 +}(jQuery));
  37 +
  38 +}));
0 \ No newline at end of file 39 \ No newline at end of file
src/main/resources/static/real_control_v2/assets/plugins/jquery-validation/js/localization/messages_gl.min.js 0 → 100644
  1 +/*! jQuery Validation Plugin - v1.14.0 - 6/30/2015
  2 + * http://jqueryvalidation.org/
  3 + * Copyright (c) 2015 Jörn Zaefferer; Licensed MIT */
  4 +!function(a){"function"==typeof define&&define.amd?define(["jquery","../jquery.validate.min"],a):a(jQuery)}(function(a){!function(a){a.extend(a.validator.messages,{required:"Este campo é obrigatorio.",remote:"Por favor, cubre este campo.",email:"Por favor, escribe unha dirección de correo válida.",url:"Por favor, escribe unha URL válida.",date:"Por favor, escribe unha data válida.",dateISO:"Por favor, escribe unha data (ISO) válida.",number:"Por favor, escribe un número válido.",digits:"Por favor, escribe só díxitos.",creditcard:"Por favor, escribe un número de tarxeta válido.",equalTo:"Por favor, escribe o mesmo valor de novo.",extension:"Por favor, escribe un valor cunha extensión aceptada.",maxlength:a.validator.format("Por favor, non escribas máis de {0} caracteres."),minlength:a.validator.format("Por favor, non escribas menos de {0} caracteres."),rangelength:a.validator.format("Por favor, escribe un valor entre {0} e {1} caracteres."),range:a.validator.format("Por favor, escribe un valor entre {0} e {1}."),max:a.validator.format("Por favor, escribe un valor menor ou igual a {0}."),min:a.validator.format("Por favor, escribe un valor maior ou igual a {0}."),nifES:"Por favor, escribe un NIF válido.",nieES:"Por favor, escribe un NIE válido.",cifES:"Por favor, escribe un CIF válido."})}(jQuery)});
0 \ No newline at end of file 5 \ No newline at end of file
src/main/resources/static/real_control_v2/assets/plugins/jquery-validation/js/localization/messages_he.js 0 → 100644
  1 +(function( factory ) {
  2 + if ( typeof define === "function" && define.amd ) {
  3 + define( ["jquery", "../jquery.validate"], factory );
  4 + } else {
  5 + factory( jQuery );
  6 + }
  7 +}(function( $ ) {
  8 +
  9 +/*
  10 + * Translated default messages for the jQuery validation plugin.
  11 + * Locale: HE (Hebrew; עברית)
  12 + */
  13 +$.extend($.validator.messages, {
  14 + required: "השדה הזה הינו שדה חובה",
  15 + remote: "נא לתקן שדה זה",
  16 + email: "נא למלא כתובת דוא\"ל חוקית",
  17 + url: "נא למלא כתובת אינטרנט חוקית",
  18 + date: "נא למלא תאריך חוקי",
  19 + dateISO: "נא למלא תאריך חוקי (ISO)",
  20 + number: "נא למלא מספר",
  21 + digits: "נא למלא רק מספרים",
  22 + creditcard: "נא למלא מספר כרטיס אשראי חוקי",
  23 + equalTo: "נא למלא את אותו ערך שוב",
  24 + extension: "נא למלא ערך עם סיומת חוקית",
  25 + maxlength: $.validator.format(".נא לא למלא יותר מ- {0} תווים"),
  26 + minlength: $.validator.format("נא למלא לפחות {0} תווים"),
  27 + rangelength: $.validator.format("נא למלא ערך בין {0} ל- {1} תווים"),
  28 + range: $.validator.format("נא למלא ערך בין {0} ל- {1}"),
  29 + max: $.validator.format("נא למלא ערך קטן או שווה ל- {0}"),
  30 + min: $.validator.format("נא למלא ערך גדול או שווה ל- {0}")
  31 +});
  32 +
  33 +}));
0 \ No newline at end of file 34 \ No newline at end of file
src/main/resources/static/real_control_v2/assets/plugins/jquery-validation/js/localization/messages_he.min.js 0 → 100644
  1 +/*! jQuery Validation Plugin - v1.14.0 - 6/30/2015
  2 + * http://jqueryvalidation.org/
  3 + * Copyright (c) 2015 Jörn Zaefferer; Licensed MIT */
  4 +!function(a){"function"==typeof define&&define.amd?define(["jquery","../jquery.validate.min"],a):a(jQuery)}(function(a){a.extend(a.validator.messages,{required:"השדה הזה הינו שדה חובה",remote:"נא לתקן שדה זה",email:'נא למלא כתובת דוא"ל חוקית',url:"נא למלא כתובת אינטרנט חוקית",date:"נא למלא תאריך חוקי",dateISO:"נא למלא תאריך חוקי (ISO)",number:"נא למלא מספר",digits:"נא למלא רק מספרים",creditcard:"נא למלא מספר כרטיס אשראי חוקי",equalTo:"נא למלא את אותו ערך שוב",extension:"נא למלא ערך עם סיומת חוקית",maxlength:a.validator.format(".נא לא למלא יותר מ- {0} תווים"),minlength:a.validator.format("נא למלא לפחות {0} תווים"),rangelength:a.validator.format("נא למלא ערך בין {0} ל- {1} תווים"),range:a.validator.format("נא למלא ערך בין {0} ל- {1}"),max:a.validator.format("נא למלא ערך קטן או שווה ל- {0}"),min:a.validator.format("נא למלא ערך גדול או שווה ל- {0}")})});
0 \ No newline at end of file 5 \ No newline at end of file
src/main/resources/static/real_control_v2/assets/plugins/jquery-validation/js/localization/messages_hr.js 0 → 100644
  1 +(function( factory ) {
  2 + if ( typeof define === "function" && define.amd ) {
  3 + define( ["jquery", "../jquery.validate"], factory );
  4 + } else {
  5 + factory( jQuery );
  6 + }
  7 +}(function( $ ) {
  8 +
  9 +/*
  10 + * Translated default messages for the jQuery validation plugin.
  11 + * Locale: HR (Croatia; hrvatski jezik)
  12 + */
  13 +$.extend($.validator.messages, {
  14 + required: "Ovo polje je obavezno.",
  15 + remote: "Ovo polje treba popraviti.",
  16 + email: "Unesite ispravnu e-mail adresu.",
  17 + url: "Unesite ispravan URL.",
  18 + date: "Unesite ispravan datum.",
  19 + dateISO: "Unesite ispravan datum (ISO).",
  20 + number: "Unesite ispravan broj.",
  21 + digits: "Unesite samo brojeve.",
  22 + creditcard: "Unesite ispravan broj kreditne kartice.",
  23 + equalTo: "Unesite ponovo istu vrijednost.",
  24 + extension: "Unesite vrijednost sa ispravnom ekstenzijom.",
  25 + maxlength: $.validator.format("Maksimalni broj znakova je {0} ."),
  26 + minlength: $.validator.format("Minimalni broj znakova je {0} ."),
  27 + rangelength: $.validator.format("Unesite vrijednost između {0} i {1} znakova."),
  28 + range: $.validator.format("Unesite vrijednost između {0} i {1}."),
  29 + max: $.validator.format("Unesite vrijednost manju ili jednaku {0}."),
  30 + min: $.validator.format("Unesite vrijednost veću ili jednaku {0}.")
  31 +});
  32 +
  33 +}));
0 \ No newline at end of file 34 \ No newline at end of file
src/main/resources/static/real_control_v2/assets/plugins/jquery-validation/js/localization/messages_hr.min.js 0 → 100644
  1 +/*! jQuery Validation Plugin - v1.14.0 - 6/30/2015
  2 + * http://jqueryvalidation.org/
  3 + * Copyright (c) 2015 Jörn Zaefferer; Licensed MIT */
  4 +!function(a){"function"==typeof define&&define.amd?define(["jquery","../jquery.validate.min"],a):a(jQuery)}(function(a){a.extend(a.validator.messages,{required:"Ovo polje je obavezno.",remote:"Ovo polje treba popraviti.",email:"Unesite ispravnu e-mail adresu.",url:"Unesite ispravan URL.",date:"Unesite ispravan datum.",dateISO:"Unesite ispravan datum (ISO).",number:"Unesite ispravan broj.",digits:"Unesite samo brojeve.",creditcard:"Unesite ispravan broj kreditne kartice.",equalTo:"Unesite ponovo istu vrijednost.",extension:"Unesite vrijednost sa ispravnom ekstenzijom.",maxlength:a.validator.format("Maksimalni broj znakova je {0} ."),minlength:a.validator.format("Minimalni broj znakova je {0} ."),rangelength:a.validator.format("Unesite vrijednost između {0} i {1} znakova."),range:a.validator.format("Unesite vrijednost između {0} i {1}."),max:a.validator.format("Unesite vrijednost manju ili jednaku {0}."),min:a.validator.format("Unesite vrijednost veću ili jednaku {0}.")})});
0 \ No newline at end of file 5 \ No newline at end of file
src/main/resources/static/real_control_v2/assets/plugins/jquery-validation/js/localization/messages_hu.js 0 → 100644
  1 +(function( factory ) {
  2 + if ( typeof define === "function" && define.amd ) {
  3 + define( ["jquery", "../jquery.validate"], factory );
  4 + } else {
  5 + factory( jQuery );
  6 + }
  7 +}(function( $ ) {
  8 +
  9 +/*
  10 + * Translated default messages for the jQuery validation plugin.
  11 + * Locale: HU (Hungarian; Magyar)
  12 + */
  13 +$.extend($.validator.messages, {
  14 + required: "Kötelező megadni.",
  15 + maxlength: $.validator.format("Legfeljebb {0} karakter hosszú legyen."),
  16 + minlength: $.validator.format("Legalább {0} karakter hosszú legyen."),
  17 + rangelength: $.validator.format("Legalább {0} és legfeljebb {1} karakter hosszú legyen."),
  18 + email: "Érvényes e-mail címnek kell lennie.",
  19 + url: "Érvényes URL-nek kell lennie.",
  20 + date: "Dátumnak kell lennie.",
  21 + number: "Számnak kell lennie.",
  22 + digits: "Csak számjegyek lehetnek.",
  23 + equalTo: "Meg kell egyeznie a két értéknek.",
  24 + range: $.validator.format("{0} és {1} közé kell esnie."),
  25 + max: $.validator.format("Nem lehet nagyobb, mint {0}."),
  26 + min: $.validator.format("Nem lehet kisebb, mint {0}."),
  27 + creditcard: "Érvényes hitelkártyaszámnak kell lennie.",
  28 + remote: "Kérem javítsa ki ezt a mezőt.",
  29 + dateISO: "Kérem írjon be egy érvényes dátumot (ISO)."
  30 +});
  31 +
  32 +}));
0 \ No newline at end of file 33 \ No newline at end of file
src/main/resources/static/real_control_v2/assets/plugins/jquery-validation/js/localization/messages_hu.min.js 0 → 100644
  1 +/*! jQuery Validation Plugin - v1.14.0 - 6/30/2015
  2 + * http://jqueryvalidation.org/
  3 + * Copyright (c) 2015 Jörn Zaefferer; Licensed MIT */
  4 +!function(a){"function"==typeof define&&define.amd?define(["jquery","../jquery.validate.min"],a):a(jQuery)}(function(a){a.extend(a.validator.messages,{required:"Kötelező megadni.",maxlength:a.validator.format("Legfeljebb {0} karakter hosszú legyen."),minlength:a.validator.format("Legalább {0} karakter hosszú legyen."),rangelength:a.validator.format("Legalább {0} és legfeljebb {1} karakter hosszú legyen."),email:"Érvényes e-mail címnek kell lennie.",url:"Érvényes URL-nek kell lennie.",date:"Dátumnak kell lennie.",number:"Számnak kell lennie.",digits:"Csak számjegyek lehetnek.",equalTo:"Meg kell egyeznie a két értéknek.",range:a.validator.format("{0} és {1} közé kell esnie."),max:a.validator.format("Nem lehet nagyobb, mint {0}."),min:a.validator.format("Nem lehet kisebb, mint {0}."),creditcard:"Érvényes hitelkártyaszámnak kell lennie.",remote:"Kérem javítsa ki ezt a mezőt.",dateISO:"Kérem írjon be egy érvényes dátumot (ISO)."})});
0 \ No newline at end of file 5 \ No newline at end of file
src/main/resources/static/real_control_v2/assets/plugins/jquery-validation/js/localization/messages_hy_AM.js 0 → 100644
  1 +(function( factory ) {
  2 + if ( typeof define === "function" && define.amd ) {
  3 + define( ["jquery", "../jquery.validate"], factory );
  4 + } else {
  5 + factory( jQuery );
  6 + }
  7 +}(function( $ ) {
  8 +
  9 +/*
  10 + * Translated default messages for the jQuery validation plugin.
  11 + * Locale: HY_AM (Armenian; հայերեն լեզու)
  12 + */
  13 +$.extend($.validator.messages, {
  14 + required: "Պարտադիր լրացման դաշտ",
  15 + remote: "Ներմուծեք ճիշտ արժեքը",
  16 + email: "Ներմուծեք վավեր էլեկտրոնային փոստի հասցե",
  17 + url: "Ներմուծեք վավեր URL",
  18 + date: "Ներմուծեք վավեր ամսաթիվ",
  19 + dateISO: "Ներմուծեք ISO ֆորմատով վավեր ամսաթիվ։",
  20 + number: "Ներմուծեք թիվ",
  21 + digits: "Ներմուծեք միայն թվեր",
  22 + creditcard: "Ներմուծեք ճիշտ բանկային քարտի համար",
  23 + equalTo: "Ներմուծեք միևնուն արժեքը ևս մեկ անգամ",
  24 + extension: "Ընտրեք ճիշտ ընդլանումով ֆայլ",
  25 + maxlength: $.validator.format("Ներմուծեք ոչ ավել քան {0} նիշ"),
  26 + minlength: $.validator.format("Ներմուծեք ոչ պակաս քան {0} նիշ"),
  27 + rangelength: $.validator.format("Ներմուծեք {0}֊ից {1} երկարությամբ արժեք"),
  28 + range: $.validator.format("Ներմուծեք թիվ {0}֊ից {1} միջակայքում"),
  29 + max: $.validator.format("Ներմուծեք թիվ, որը փոքր կամ հավասար է {0}֊ին"),
  30 + min: $.validator.format("Ներմուծեք թիվ, որը մեծ կամ հավասար է {0}֊ին")
  31 +});
  32 +
  33 +}));
0 \ No newline at end of file 34 \ No newline at end of file
src/main/resources/static/real_control_v2/assets/plugins/jquery-validation/js/localization/messages_hy_AM.min.js 0 → 100644
  1 +/*! jQuery Validation Plugin - v1.14.0 - 6/30/2015
  2 + * http://jqueryvalidation.org/
  3 + * Copyright (c) 2015 Jörn Zaefferer; Licensed MIT */
  4 +!function(a){"function"==typeof define&&define.amd?define(["jquery","../jquery.validate.min"],a):a(jQuery)}(function(a){a.extend(a.validator.messages,{required:"Պարտադիր լրացման դաշտ",remote:"Ներմուծեք ճիշտ արժեքը",email:"Ներմուծեք վավեր էլեկտրոնային փոստի հասցե",url:"Ներմուծեք վավեր URL",date:"Ներմուծեք վավեր ամսաթիվ",dateISO:"Ներմուծեք ISO ֆորմատով վավեր ամսաթիվ։",number:"Ներմուծեք թիվ",digits:"Ներմուծեք միայն թվեր",creditcard:"Ներմուծեք ճիշտ բանկային քարտի համար",equalTo:"Ներմուծեք միևնուն արժեքը ևս մեկ անգամ",extension:"Ընտրեք ճիշտ ընդլանումով ֆայլ",maxlength:a.validator.format("Ներմուծեք ոչ ավել քան {0} նիշ"),minlength:a.validator.format("Ներմուծեք ոչ պակաս քան {0} նիշ"),rangelength:a.validator.format("Ներմուծեք {0}֊ից {1} երկարությամբ արժեք"),range:a.validator.format("Ներմուծեք թիվ {0}֊ից {1} միջակայքում"),max:a.validator.format("Ներմուծեք թիվ, որը փոքր կամ հավասար է {0}֊ին"),min:a.validator.format("Ներմուծեք թիվ, որը մեծ կամ հավասար է {0}֊ին")})});
0 \ No newline at end of file 5 \ No newline at end of file
src/main/resources/static/real_control_v2/assets/plugins/jquery-validation/js/localization/messages_id.js 0 → 100644
  1 +(function( factory ) {
  2 + if ( typeof define === "function" && define.amd ) {
  3 + define( ["jquery", "../jquery.validate"], factory );
  4 + } else {
  5 + factory( jQuery );
  6 + }
  7 +}(function( $ ) {
  8 +
  9 +/*
  10 + * Translated default messages for the jQuery validation plugin.
  11 + * Locale: ID (Indonesia; Indonesian)
  12 + */
  13 +$.extend($.validator.messages, {
  14 + required: "Kolom ini diperlukan.",
  15 + remote: "Harap benarkan kolom ini.",
  16 + email: "Silakan masukkan format email yang benar.",
  17 + url: "Silakan masukkan format URL yang benar.",
  18 + date: "Silakan masukkan format tanggal yang benar.",
  19 + dateISO: "Silakan masukkan format tanggal(ISO) yang benar.",
  20 + number: "Silakan masukkan angka yang benar.",
  21 + digits: "Harap masukan angka saja.",
  22 + creditcard: "Harap masukkan format kartu kredit yang benar.",
  23 + equalTo: "Harap masukkan nilai yg sama dengan sebelumnya.",
  24 + maxlength: $.validator.format("Input dibatasi hanya {0} karakter."),
  25 + minlength: $.validator.format("Input tidak kurang dari {0} karakter."),
  26 + rangelength: $.validator.format("Panjang karakter yg diizinkan antara {0} dan {1} karakter."),
  27 + range: $.validator.format("Harap masukkan nilai antara {0} dan {1}."),
  28 + max: $.validator.format("Harap masukkan nilai lebih kecil atau sama dengan {0}."),
  29 + min: $.validator.format("Harap masukkan nilai lebih besar atau sama dengan {0}.")
  30 +});
  31 +
  32 +}));
0 \ No newline at end of file 33 \ No newline at end of file
src/main/resources/static/real_control_v2/assets/plugins/jquery-validation/js/localization/messages_id.min.js 0 → 100644
  1 +/*! jQuery Validation Plugin - v1.14.0 - 6/30/2015
  2 + * http://jqueryvalidation.org/
  3 + * Copyright (c) 2015 Jörn Zaefferer; Licensed MIT */
  4 +!function(a){"function"==typeof define&&define.amd?define(["jquery","../jquery.validate.min"],a):a(jQuery)}(function(a){a.extend(a.validator.messages,{required:"Kolom ini diperlukan.",remote:"Harap benarkan kolom ini.",email:"Silakan masukkan format email yang benar.",url:"Silakan masukkan format URL yang benar.",date:"Silakan masukkan format tanggal yang benar.",dateISO:"Silakan masukkan format tanggal(ISO) yang benar.",number:"Silakan masukkan angka yang benar.",digits:"Harap masukan angka saja.",creditcard:"Harap masukkan format kartu kredit yang benar.",equalTo:"Harap masukkan nilai yg sama dengan sebelumnya.",maxlength:a.validator.format("Input dibatasi hanya {0} karakter."),minlength:a.validator.format("Input tidak kurang dari {0} karakter."),rangelength:a.validator.format("Panjang karakter yg diizinkan antara {0} dan {1} karakter."),range:a.validator.format("Harap masukkan nilai antara {0} dan {1}."),max:a.validator.format("Harap masukkan nilai lebih kecil atau sama dengan {0}."),min:a.validator.format("Harap masukkan nilai lebih besar atau sama dengan {0}.")})});
0 \ No newline at end of file 5 \ No newline at end of file
src/main/resources/static/real_control_v2/assets/plugins/jquery-validation/js/localization/messages_is.js 0 → 100644
  1 +(function( factory ) {
  2 + if ( typeof define === "function" && define.amd ) {
  3 + define( ["jquery", "../jquery.validate"], factory );
  4 + } else {
  5 + factory( jQuery );
  6 + }
  7 +}(function( $ ) {
  8 +
  9 +/*
  10 + * Translated default messages for the jQuery validation plugin.
  11 + * Locale: IS (Icelandic; íslenska)
  12 + */
  13 +$.extend($.validator.messages, {
  14 + required: "Þessi reitur er nauðsynlegur.",
  15 + remote: "Lagaðu þennan reit.",
  16 + maxlength: $.validator.format("Sláðu inn mest {0} stafi."),
  17 + minlength: $.validator.format("Sláðu inn minnst {0} stafi."),
  18 + rangelength: $.validator.format("Sláðu inn minnst {0} og mest {1} stafi."),
  19 + email: "Sláðu inn gilt netfang.",
  20 + url: "Sláðu inn gilda vefslóð.",
  21 + date: "Sláðu inn gilda dagsetningu.",
  22 + number: "Sláðu inn tölu.",
  23 + digits: "Sláðu inn tölustafi eingöngu.",
  24 + equalTo: "Sláðu sama gildi inn aftur.",
  25 + range: $.validator.format("Sláðu inn gildi milli {0} og {1}."),
  26 + max: $.validator.format("Sláðu inn gildi sem er minna en eða jafnt og {0}."),
  27 + min: $.validator.format("Sláðu inn gildi sem er stærra en eða jafnt og {0}."),
  28 + creditcard: "Sláðu inn gilt greiðslukortanúmer."
  29 +});
  30 +
  31 +}));
0 \ No newline at end of file 32 \ No newline at end of file
src/main/resources/static/real_control_v2/assets/plugins/jquery-validation/js/localization/messages_is.min.js 0 → 100644
  1 +/*! jQuery Validation Plugin - v1.14.0 - 6/30/2015
  2 + * http://jqueryvalidation.org/
  3 + * Copyright (c) 2015 Jörn Zaefferer; Licensed MIT */
  4 +!function(a){"function"==typeof define&&define.amd?define(["jquery","../jquery.validate.min"],a):a(jQuery)}(function(a){a.extend(a.validator.messages,{required:"Þessi reitur er nauðsynlegur.",remote:"Lagaðu þennan reit.",maxlength:a.validator.format("Sláðu inn mest {0} stafi."),minlength:a.validator.format("Sláðu inn minnst {0} stafi."),rangelength:a.validator.format("Sláðu inn minnst {0} og mest {1} stafi."),email:"Sláðu inn gilt netfang.",url:"Sláðu inn gilda vefslóð.",date:"Sláðu inn gilda dagsetningu.",number:"Sláðu inn tölu.",digits:"Sláðu inn tölustafi eingöngu.",equalTo:"Sláðu sama gildi inn aftur.",range:a.validator.format("Sláðu inn gildi milli {0} og {1}."),max:a.validator.format("Sláðu inn gildi sem er minna en eða jafnt og {0}."),min:a.validator.format("Sláðu inn gildi sem er stærra en eða jafnt og {0}."),creditcard:"Sláðu inn gilt greiðslukortanúmer."})});
0 \ No newline at end of file 5 \ No newline at end of file
src/main/resources/static/real_control_v2/assets/plugins/jquery-validation/js/localization/messages_it.js 0 → 100644
  1 +(function( factory ) {
  2 + if ( typeof define === "function" && define.amd ) {
  3 + define( ["jquery", "../jquery.validate"], factory );
  4 + } else {
  5 + factory( jQuery );
  6 + }
  7 +}(function( $ ) {
  8 +
  9 +/*
  10 + * Translated default messages for the jQuery validation plugin.
  11 + * Locale: IT (Italian; Italiano)
  12 + */
  13 +$.extend($.validator.messages, {
  14 + required: "Campo obbligatorio",
  15 + remote: "Controlla questo campo",
  16 + email: "Inserisci un indirizzo email valido",
  17 + url: "Inserisci un indirizzo web valido",
  18 + date: "Inserisci una data valida",
  19 + dateISO: "Inserisci una data valida (ISO)",
  20 + number: "Inserisci un numero valido",
  21 + digits: "Inserisci solo numeri",
  22 + creditcard: "Inserisci un numero di carta di credito valido",
  23 + equalTo: "Il valore non corrisponde",
  24 + extension: "Inserisci un valore con un&apos;estensione valida",
  25 + maxlength: $.validator.format("Non inserire pi&ugrave; di {0} caratteri"),
  26 + minlength: $.validator.format("Inserisci almeno {0} caratteri"),
  27 + rangelength: $.validator.format("Inserisci un valore compreso tra {0} e {1} caratteri"),
  28 + range: $.validator.format("Inserisci un valore compreso tra {0} e {1}"),
  29 + max: $.validator.format("Inserisci un valore minore o uguale a {0}"),
  30 + min: $.validator.format("Inserisci un valore maggiore o uguale a {0}"),
  31 + nifES: "Inserisci un NIF valido",
  32 + nieES: "Inserisci un NIE valido",
  33 + cifES: "Inserisci un CIF valido",
  34 + currency: "Inserisci una valuta valida"
  35 +});
  36 +
  37 +}));
0 \ No newline at end of file 38 \ No newline at end of file
src/main/resources/static/real_control_v2/assets/plugins/jquery-validation/js/localization/messages_it.min.js 0 → 100644
  1 +/*! jQuery Validation Plugin - v1.14.0 - 6/30/2015
  2 + * http://jqueryvalidation.org/
  3 + * Copyright (c) 2015 Jörn Zaefferer; Licensed MIT */
  4 +!function(a){"function"==typeof define&&define.amd?define(["jquery","../jquery.validate.min"],a):a(jQuery)}(function(a){a.extend(a.validator.messages,{required:"Campo obbligatorio",remote:"Controlla questo campo",email:"Inserisci un indirizzo email valido",url:"Inserisci un indirizzo web valido",date:"Inserisci una data valida",dateISO:"Inserisci una data valida (ISO)",number:"Inserisci un numero valido",digits:"Inserisci solo numeri",creditcard:"Inserisci un numero di carta di credito valido",equalTo:"Il valore non corrisponde",extension:"Inserisci un valore con un&apos;estensione valida",maxlength:a.validator.format("Non inserire pi&ugrave; di {0} caratteri"),minlength:a.validator.format("Inserisci almeno {0} caratteri"),rangelength:a.validator.format("Inserisci un valore compreso tra {0} e {1} caratteri"),range:a.validator.format("Inserisci un valore compreso tra {0} e {1}"),max:a.validator.format("Inserisci un valore minore o uguale a {0}"),min:a.validator.format("Inserisci un valore maggiore o uguale a {0}"),nifES:"Inserisci un NIF valido",nieES:"Inserisci un NIE valido",cifES:"Inserisci un CIF valido",currency:"Inserisci una valuta valida"})});
0 \ No newline at end of file 5 \ No newline at end of file
src/main/resources/static/real_control_v2/assets/plugins/jquery-validation/js/localization/messages_ja.js 0 → 100644
  1 +(function( factory ) {
  2 + if ( typeof define === "function" && define.amd ) {
  3 + define( ["jquery", "../jquery.validate"], factory );
  4 + } else {
  5 + factory( jQuery );
  6 + }
  7 +}(function( $ ) {
  8 +
  9 +/*
  10 + * Translated default messages for the jQuery validation plugin.
  11 + * Locale: JA (Japanese; 日本語)
  12 + */
  13 +$.extend($.validator.messages, {
  14 + required: "このフィールドは必須です。",
  15 + remote: "このフィールドを修正してください。",
  16 + email: "有効なEメールアドレスを入力してください。",
  17 + url: "有効なURLを入力してください。",
  18 + date: "有効な日付を入力してください。",
  19 + dateISO: "有効な日付(ISO)を入力してください。",
  20 + number: "有効な数字を入力してください。",
  21 + digits: "数字のみを入力してください。",
  22 + creditcard: "有効なクレジットカード番号を入力してください。",
  23 + equalTo: "同じ値をもう一度入力してください。",
  24 + extension: "有効な拡張子を含む値を入力してください。",
  25 + maxlength: $.validator.format("{0} 文字以内で入力してください。"),
  26 + minlength: $.validator.format("{0} 文字以上で入力してください。"),
  27 + rangelength: $.validator.format("{0} 文字から {1} 文字までの値を入力してください。"),
  28 + range: $.validator.format("{0} から {1} までの値を入力してください。"),
  29 + max: $.validator.format("{0} 以下の値を入力してください。"),
  30 + min: $.validator.format("{0} 以上の値を入力してください。")
  31 +});
  32 +
  33 +}));
0 \ No newline at end of file 34 \ No newline at end of file
src/main/resources/static/real_control_v2/assets/plugins/jquery-validation/js/localization/messages_ja.min.js 0 → 100644
  1 +/*! jQuery Validation Plugin - v1.14.0 - 6/30/2015
  2 + * http://jqueryvalidation.org/
  3 + * Copyright (c) 2015 Jörn Zaefferer; Licensed MIT */
  4 +!function(a){"function"==typeof define&&define.amd?define(["jquery","../jquery.validate.min"],a):a(jQuery)}(function(a){a.extend(a.validator.messages,{required:"このフィールドは必須です。",remote:"このフィールドを修正してください。",email:"有効なEメールアドレスを入力してください。",url:"有効なURLを入力してください。",date:"有効な日付を入力してください。",dateISO:"有効な日付(ISO)を入力してください。",number:"有効な数字を入力してください。",digits:"数字のみを入力してください。",creditcard:"有効なクレジットカード番号を入力してください。",equalTo:"同じ値をもう一度入力してください。",extension:"有効な拡張子を含む値を入力してください。",maxlength:a.validator.format("{0} 文字以内で入力してください。"),minlength:a.validator.format("{0} 文字以上で入力してください。"),rangelength:a.validator.format("{0} 文字から {1} 文字までの値を入力してください。"),range:a.validator.format("{0} から {1} までの値を入力してください。"),max:a.validator.format("{0} 以下の値を入力してください。"),min:a.validator.format("{0} 以上の値を入力してください。")})});
0 \ No newline at end of file 5 \ No newline at end of file
src/main/resources/static/real_control_v2/assets/plugins/jquery-validation/js/localization/messages_ka.js 0 → 100644
  1 +(function( factory ) {
  2 + if ( typeof define === "function" && define.amd ) {
  3 + define( ["jquery", "../jquery.validate"], factory );
  4 + } else {
  5 + factory( jQuery );
  6 + }
  7 +}(function( $ ) {
  8 +
  9 +/*
  10 + * Translated default messages for the jQuery validation plugin.
  11 + * Locale: KA (Georgian; ქართული)
  12 + */
  13 +$.extend($.validator.messages, {
  14 + required: "ამ ველის შევსება აუცილებელია.",
  15 + remote: "გთხოვთ მიუთითოთ სწორი მნიშვნელობა.",
  16 + email: "გთხოვთ მიუთითოთ ელ-ფოსტის კორექტული მისამართი.",
  17 + url: "გთხოვთ მიუთითოთ კორექტული URL.",
  18 + date: "გთხოვთ მიუთითოთ კორექტული თარიღი.",
  19 + dateISO: "გთხოვთ მიუთითოთ კორექტული თარიღი ISO ფორმატში.",
  20 + number: "გთხოვთ მიუთითოთ ციფრი.",
  21 + digits: "გთხოვთ მიუთითოთ მხოლოდ ციფრები.",
  22 + creditcard: "გთხოვთ მიუთითოთ საკრედიტო ბარათის კორექტული ნომერი.",
  23 + equalTo: "გთხოვთ მიუთითოთ ასეთივე მნიშვნელობა კიდევ ერთხელ.",
  24 + extension: "გთხოვთ აირჩიოთ ფაილი კორექტული გაფართოებით.",
  25 + maxlength: $.validator.format("დასაშვებია არაუმეტეს {0} სიმბოლო."),
  26 + minlength: $.validator.format("აუცილებელია შეიყვანოთ მინიმუმ {0} სიმბოლო."),
  27 + rangelength: $.validator.format("ტექსტში სიმბოლოების რაოდენობა უნდა იყოს {0}-დან {1}-მდე."),
  28 + range: $.validator.format("გთხოვთ შეიყვანოთ ციფრი {0}-დან {1}-მდე."),
  29 + max: $.validator.format("გთხოვთ შეიყვანოთ ციფრი რომელიც ნაკლებია ან უდრის {0}-ს."),
  30 + min: $.validator.format("გთხოვთ შეიყვანოთ ციფრი რომელიც მეტია ან უდრის {0}-ს.")
  31 +});
  32 +
  33 +}));
0 \ No newline at end of file 34 \ No newline at end of file
src/main/resources/static/real_control_v2/assets/plugins/jquery-validation/js/localization/messages_ka.min.js 0 → 100644
  1 +/*! jQuery Validation Plugin - v1.14.0 - 6/30/2015
  2 + * http://jqueryvalidation.org/
  3 + * Copyright (c) 2015 Jörn Zaefferer; Licensed MIT */
  4 +!function(a){"function"==typeof define&&define.amd?define(["jquery","../jquery.validate.min"],a):a(jQuery)}(function(a){a.extend(a.validator.messages,{required:"ამ ველის შევსება აუცილებელია.",remote:"გთხოვთ მიუთითოთ სწორი მნიშვნელობა.",email:"გთხოვთ მიუთითოთ ელ-ფოსტის კორექტული მისამართი.",url:"გთხოვთ მიუთითოთ კორექტული URL.",date:"გთხოვთ მიუთითოთ კორექტული თარიღი.",dateISO:"გთხოვთ მიუთითოთ კორექტული თარიღი ISO ფორმატში.",number:"გთხოვთ მიუთითოთ ციფრი.",digits:"გთხოვთ მიუთითოთ მხოლოდ ციფრები.",creditcard:"გთხოვთ მიუთითოთ საკრედიტო ბარათის კორექტული ნომერი.",equalTo:"გთხოვთ მიუთითოთ ასეთივე მნიშვნელობა კიდევ ერთხელ.",extension:"გთხოვთ აირჩიოთ ფაილი კორექტული გაფართოებით.",maxlength:a.validator.format("დასაშვებია არაუმეტეს {0} სიმბოლო."),minlength:a.validator.format("აუცილებელია შეიყვანოთ მინიმუმ {0} სიმბოლო."),rangelength:a.validator.format("ტექსტში სიმბოლოების რაოდენობა უნდა იყოს {0}-დან {1}-მდე."),range:a.validator.format("გთხოვთ შეიყვანოთ ციფრი {0}-დან {1}-მდე."),max:a.validator.format("გთხოვთ შეიყვანოთ ციფრი რომელიც ნაკლებია ან უდრის {0}-ს."),min:a.validator.format("გთხოვთ შეიყვანოთ ციფრი რომელიც მეტია ან უდრის {0}-ს.")})});
0 \ No newline at end of file 5 \ No newline at end of file
src/main/resources/static/real_control_v2/assets/plugins/jquery-validation/js/localization/messages_kk.js 0 → 100644
  1 +(function( factory ) {
  2 + if ( typeof define === "function" && define.amd ) {
  3 + define( ["jquery", "../jquery.validate"], factory );
  4 + } else {
  5 + factory( jQuery );
  6 + }
  7 +}(function( $ ) {
  8 +
  9 +/*
  10 + * Translated default messages for the jQuery validation plugin.
  11 + * Locale: KK (Kazakh; қазақ тілі)
  12 + */
  13 +$.extend($.validator.messages, {
  14 + required: "Бұл өрісті міндетті түрде толтырыңыз.",
  15 + remote: "Дұрыс мағына енгізуіңізді сұраймыз.",
  16 + email: "Нақты электронды поштаңызды енгізуіңізді сұраймыз.",
  17 + url: "Нақты URL-ды енгізуіңізді сұраймыз.",
  18 + date: "Нақты URL-ды енгізуіңізді сұраймыз.",
  19 + dateISO: "Нақты ISO форматымен сәйкес датасын енгізуіңізді сұраймыз.",
  20 + number: "Күнді енгізуіңізді сұраймыз.",
  21 + digits: "Тек қана сандарды енгізуіңізді сұраймыз.",
  22 + creditcard: "Несие картасының нөмірін дұрыс енгізуіңізді сұраймыз.",
  23 + equalTo: "Осы мәнді қайта енгізуіңізді сұраймыз.",
  24 + extension: "Файлдың кеңейтуін дұрыс таңдаңыз.",
  25 + maxlength: $.validator.format("Ұзындығы {0} символдан көр болмасын."),
  26 + minlength: $.validator.format("Ұзындығы {0} символдан аз болмасын."),
  27 + rangelength: $.validator.format("Ұзындығы {0}-{1} дейін мән енгізуіңізді сұраймыз."),
  28 + range: $.validator.format("Пожалуйста, введите число от {0} до {1}. - {0} - {1} санын енгізуіңізді сұраймыз."),
  29 + max: $.validator.format("{0} аз немесе тең санын енгізуіңіді сұраймыз."),
  30 + min: $.validator.format("{0} көп немесе тең санын енгізуіңізді сұраймыз.")
  31 +});
  32 +
  33 +}));
0 \ No newline at end of file 34 \ No newline at end of file
src/main/resources/static/real_control_v2/assets/plugins/jquery-validation/js/localization/messages_kk.min.js 0 → 100644
  1 +/*! jQuery Validation Plugin - v1.14.0 - 6/30/2015
  2 + * http://jqueryvalidation.org/
  3 + * Copyright (c) 2015 Jörn Zaefferer; Licensed MIT */
  4 +!function(a){"function"==typeof define&&define.amd?define(["jquery","../jquery.validate.min"],a):a(jQuery)}(function(a){a.extend(a.validator.messages,{required:"Бұл өрісті міндетті түрде толтырыңыз.",remote:"Дұрыс мағына енгізуіңізді сұраймыз.",email:"Нақты электронды поштаңызды енгізуіңізді сұраймыз.",url:"Нақты URL-ды енгізуіңізді сұраймыз.",date:"Нақты URL-ды енгізуіңізді сұраймыз.",dateISO:"Нақты ISO форматымен сәйкес датасын енгізуіңізді сұраймыз.",number:"Күнді енгізуіңізді сұраймыз.",digits:"Тек қана сандарды енгізуіңізді сұраймыз.",creditcard:"Несие картасының нөмірін дұрыс енгізуіңізді сұраймыз.",equalTo:"Осы мәнді қайта енгізуіңізді сұраймыз.",extension:"Файлдың кеңейтуін дұрыс таңдаңыз.",maxlength:a.validator.format("Ұзындығы {0} символдан көр болмасын."),minlength:a.validator.format("Ұзындығы {0} символдан аз болмасын."),rangelength:a.validator.format("Ұзындығы {0}-{1} дейін мән енгізуіңізді сұраймыз."),range:a.validator.format("Пожалуйста, введите число от {0} до {1}. - {0} - {1} санын енгізуіңізді сұраймыз."),max:a.validator.format("{0} аз немесе тең санын енгізуіңіді сұраймыз."),min:a.validator.format("{0} көп немесе тең санын енгізуіңізді сұраймыз.")})});
0 \ No newline at end of file 5 \ No newline at end of file
src/main/resources/static/real_control_v2/assets/plugins/jquery-validation/js/localization/messages_ko.js 0 → 100644
  1 +(function( factory ) {
  2 + if ( typeof define === "function" && define.amd ) {
  3 + define( ["jquery", "../jquery.validate"], factory );
  4 + } else {
  5 + factory( jQuery );
  6 + }
  7 +}(function( $ ) {
  8 +
  9 +/*
  10 + * Translated default messages for the jQuery validation plugin.
  11 + * Locale: KO (Korean; 한국어)
  12 + */
  13 +$.extend($.validator.messages, {
  14 + required: "필수 항목입니다.",
  15 + remote: "항목을 수정하세요.",
  16 + email: "유효하지 않은 E-Mail주소입니다.",
  17 + url: "유효하지 않은 URL입니다.",
  18 + date: "올바른 날짜를 입력하세요.",
  19 + dateISO: "올바른 날짜(ISO)를 입력하세요.",
  20 + number: "유효한 숫자가 아닙니다.",
  21 + digits: "숫자만 입력 가능합니다.",
  22 + creditcard: "신용카드 번호가 바르지 않습니다.",
  23 + equalTo: "같은 값을 다시 입력하세요.",
  24 + extension: "올바른 확장자가 아닙니다.",
  25 + maxlength: $.validator.format("{0}자를 넘을 수 없습니다. "),
  26 + minlength: $.validator.format("{0}자 이상 입력하세요."),
  27 + rangelength: $.validator.format("문자 길이가 {0} 에서 {1} 사이의 값을 입력하세요."),
  28 + range: $.validator.format("{0} 에서 {1} 사이의 값을 입력하세요."),
  29 + max: $.validator.format("{0} 이하의 값을 입력하세요."),
  30 + min: $.validator.format("{0} 이상의 값을 입력하세요.")
  31 +});
  32 +
  33 +}));
0 \ No newline at end of file 34 \ No newline at end of file
src/main/resources/static/real_control_v2/assets/plugins/jquery-validation/js/localization/messages_ko.min.js 0 → 100644
  1 +/*! jQuery Validation Plugin - v1.14.0 - 6/30/2015
  2 + * http://jqueryvalidation.org/
  3 + * Copyright (c) 2015 Jörn Zaefferer; Licensed MIT */
  4 +!function(a){"function"==typeof define&&define.amd?define(["jquery","../jquery.validate.min"],a):a(jQuery)}(function(a){a.extend(a.validator.messages,{required:"필수 항목입니다.",remote:"항목을 수정하세요.",email:"유효하지 않은 E-Mail주소입니다.",url:"유효하지 않은 URL입니다.",date:"올바른 날짜를 입력하세요.",dateISO:"올바른 날짜(ISO)를 입력하세요.",number:"유효한 숫자가 아닙니다.",digits:"숫자만 입력 가능합니다.",creditcard:"신용카드 번호가 바르지 않습니다.",equalTo:"같은 값을 다시 입력하세요.",extension:"올바른 확장자가 아닙니다.",maxlength:a.validator.format("{0}자를 넘을 수 없습니다. "),minlength:a.validator.format("{0}자 이상 입력하세요."),rangelength:a.validator.format("문자 길이가 {0} 에서 {1} 사이의 값을 입력하세요."),range:a.validator.format("{0} 에서 {1} 사이의 값을 입력하세요."),max:a.validator.format("{0} 이하의 값을 입력하세요."),min:a.validator.format("{0} 이상의 값을 입력하세요.")})});
0 \ No newline at end of file 5 \ No newline at end of file
src/main/resources/static/real_control_v2/assets/plugins/jquery-validation/js/localization/messages_lt.js 0 → 100644
  1 +(function( factory ) {
  2 + if ( typeof define === "function" && define.amd ) {
  3 + define( ["jquery", "../jquery.validate"], factory );
  4 + } else {
  5 + factory( jQuery );
  6 + }
  7 +}(function( $ ) {
  8 +
  9 +/*
  10 + * Translated default messages for the jQuery validation plugin.
  11 + * Locale: LT (Lithuanian; lietuvių kalba)
  12 + */
  13 +$.extend($.validator.messages, {
  14 + required: "Šis laukas yra privalomas.",
  15 + remote: "Prašau pataisyti šį lauką.",
  16 + email: "Prašau įvesti teisingą elektroninio pašto adresą.",
  17 + url: "Prašau įvesti teisingą URL.",
  18 + date: "Prašau įvesti teisingą datą.",
  19 + dateISO: "Prašau įvesti teisingą datą (ISO).",
  20 + number: "Prašau įvesti teisingą skaičių.",
  21 + digits: "Prašau naudoti tik skaitmenis.",
  22 + creditcard: "Prašau įvesti teisingą kreditinės kortelės numerį.",
  23 + equalTo: "Prašau įvestį tą pačią reikšmę dar kartą.",
  24 + extension: "Prašau įvesti reikšmę su teisingu plėtiniu.",
  25 + maxlength: $.validator.format("Prašau įvesti ne daugiau kaip {0} simbolių."),
  26 + minlength: $.validator.format("Prašau įvesti bent {0} simbolius."),
  27 + rangelength: $.validator.format("Prašau įvesti reikšmes, kurių ilgis nuo {0} iki {1} simbolių."),
  28 + range: $.validator.format("Prašau įvesti reikšmę intervale nuo {0} iki {1}."),
  29 + max: $.validator.format("Prašau įvesti reikšmę mažesnę arba lygią {0}."),
  30 + min: $.validator.format("Prašau įvesti reikšmę didesnę arba lygią {0}.")
  31 +});
  32 +
  33 +}));
0 \ No newline at end of file 34 \ No newline at end of file
src/main/resources/static/real_control_v2/assets/plugins/jquery-validation/js/localization/messages_lt.min.js 0 → 100644
  1 +/*! jQuery Validation Plugin - v1.14.0 - 6/30/2015
  2 + * http://jqueryvalidation.org/
  3 + * Copyright (c) 2015 Jörn Zaefferer; Licensed MIT */
  4 +!function(a){"function"==typeof define&&define.amd?define(["jquery","../jquery.validate.min"],a):a(jQuery)}(function(a){a.extend(a.validator.messages,{required:"Šis laukas yra privalomas.",remote:"Prašau pataisyti šį lauką.",email:"Prašau įvesti teisingą elektroninio pašto adresą.",url:"Prašau įvesti teisingą URL.",date:"Prašau įvesti teisingą datą.",dateISO:"Prašau įvesti teisingą datą (ISO).",number:"Prašau įvesti teisingą skaičių.",digits:"Prašau naudoti tik skaitmenis.",creditcard:"Prašau įvesti teisingą kreditinės kortelės numerį.",equalTo:"Prašau įvestį tą pačią reikšmę dar kartą.",extension:"Prašau įvesti reikšmę su teisingu plėtiniu.",maxlength:a.validator.format("Prašau įvesti ne daugiau kaip {0} simbolių."),minlength:a.validator.format("Prašau įvesti bent {0} simbolius."),rangelength:a.validator.format("Prašau įvesti reikšmes, kurių ilgis nuo {0} iki {1} simbolių."),range:a.validator.format("Prašau įvesti reikšmę intervale nuo {0} iki {1}."),max:a.validator.format("Prašau įvesti reikšmę mažesnę arba lygią {0}."),min:a.validator.format("Prašau įvesti reikšmę didesnę arba lygią {0}.")})});
0 \ No newline at end of file 5 \ No newline at end of file
src/main/resources/static/real_control_v2/assets/plugins/jquery-validation/js/localization/messages_lv.js 0 → 100644
  1 +(function( factory ) {
  2 + if ( typeof define === "function" && define.amd ) {
  3 + define( ["jquery", "../jquery.validate"], factory );
  4 + } else {
  5 + factory( jQuery );
  6 + }
  7 +}(function( $ ) {
  8 +
  9 +/*
  10 + * Translated default messages for the jQuery validation plugin.
  11 + * Locale: LV (Latvian; latviešu valoda)
  12 + */
  13 +$.extend($.validator.messages, {
  14 + required: "Šis lauks ir obligāts.",
  15 + remote: "Lūdzu, pārbaudiet šo lauku.",
  16 + email: "Lūdzu, ievadiet derīgu e-pasta adresi.",
  17 + url: "Lūdzu, ievadiet derīgu URL adresi.",
  18 + date: "Lūdzu, ievadiet derīgu datumu.",
  19 + dateISO: "Lūdzu, ievadiet derīgu datumu (ISO).",
  20 + number: "Lūdzu, ievadiet derīgu numuru.",
  21 + digits: "Lūdzu, ievadiet tikai ciparus.",
  22 + creditcard: "Lūdzu, ievadiet derīgu kredītkartes numuru.",
  23 + equalTo: "Lūdzu, ievadiet to pašu vēlreiz.",
  24 + extension: "Lūdzu, ievadiet vērtību ar derīgu paplašinājumu.",
  25 + maxlength: $.validator.format("Lūdzu, ievadiet ne vairāk kā {0} rakstzīmes."),
  26 + minlength: $.validator.format("Lūdzu, ievadiet vismaz {0} rakstzīmes."),
  27 + rangelength: $.validator.format("Lūdzu ievadiet {0} līdz {1} rakstzīmes."),
  28 + range: $.validator.format("Lūdzu, ievadiet skaitli no {0} līdz {1}."),
  29 + max: $.validator.format("Lūdzu, ievadiet skaitli, kurš ir mazāks vai vienāds ar {0}."),
  30 + min: $.validator.format("Lūdzu, ievadiet skaitli, kurš ir lielāks vai vienāds ar {0}.")
  31 +});
  32 +
  33 +}));
0 \ No newline at end of file 34 \ No newline at end of file
src/main/resources/static/real_control_v2/assets/plugins/jquery-validation/js/localization/messages_lv.min.js 0 → 100644
  1 +/*! jQuery Validation Plugin - v1.14.0 - 6/30/2015
  2 + * http://jqueryvalidation.org/
  3 + * Copyright (c) 2015 Jörn Zaefferer; Licensed MIT */
  4 +!function(a){"function"==typeof define&&define.amd?define(["jquery","../jquery.validate.min"],a):a(jQuery)}(function(a){a.extend(a.validator.messages,{required:"Šis lauks ir obligāts.",remote:"Lūdzu, pārbaudiet šo lauku.",email:"Lūdzu, ievadiet derīgu e-pasta adresi.",url:"Lūdzu, ievadiet derīgu URL adresi.",date:"Lūdzu, ievadiet derīgu datumu.",dateISO:"Lūdzu, ievadiet derīgu datumu (ISO).",number:"Lūdzu, ievadiet derīgu numuru.",digits:"Lūdzu, ievadiet tikai ciparus.",creditcard:"Lūdzu, ievadiet derīgu kredītkartes numuru.",equalTo:"Lūdzu, ievadiet to pašu vēlreiz.",extension:"Lūdzu, ievadiet vērtību ar derīgu paplašinājumu.",maxlength:a.validator.format("Lūdzu, ievadiet ne vairāk kā {0} rakstzīmes."),minlength:a.validator.format("Lūdzu, ievadiet vismaz {0} rakstzīmes."),rangelength:a.validator.format("Lūdzu ievadiet {0} līdz {1} rakstzīmes."),range:a.validator.format("Lūdzu, ievadiet skaitli no {0} līdz {1}."),max:a.validator.format("Lūdzu, ievadiet skaitli, kurš ir mazāks vai vienāds ar {0}."),min:a.validator.format("Lūdzu, ievadiet skaitli, kurš ir lielāks vai vienāds ar {0}.")})});
0 \ No newline at end of file 5 \ No newline at end of file
src/main/resources/static/real_control_v2/assets/plugins/jquery-validation/js/localization/messages_my.js 0 → 100644
  1 +(function( factory ) {
  2 + if ( typeof define === "function" && define.amd ) {
  3 + define( ["jquery", "../jquery.validate"], factory );
  4 + } else {
  5 + factory( jQuery );
  6 + }
  7 +}(function( $ ) {
  8 +
  9 +/*
  10 + * Translated default messages for the jQuery validation plugin.
  11 + * Locale: MY (Malay; Melayu)
  12 + */
  13 +$.extend($.validator.messages, {
  14 + required: "Medan ini diperlukan.",
  15 + remote: "Sila betulkan medan ini.",
  16 + email: "Sila masukkan alamat emel yang betul.",
  17 + url: "Sila masukkan URL yang betul.",
  18 + date: "Sila masukkan tarikh yang betul.",
  19 + dateISO: "Sila masukkan tarikh(ISO) yang betul.",
  20 + number: "Sila masukkan nombor yang betul.",
  21 + digits: "Sila masukkan nilai digit sahaja.",
  22 + creditcard: "Sila masukkan nombor kredit kad yang betul.",
  23 + equalTo: "Sila masukkan nilai yang sama semula.",
  24 + extension: "Sila masukkan nilai yang telah diterima.",
  25 + maxlength: $.validator.format("Sila masukkan nilai tidak lebih dari {0} aksara."),
  26 + minlength: $.validator.format("Sila masukkan nilai sekurang-kurangnya {0} aksara."),
  27 + rangelength: $.validator.format("Sila masukkan panjang nilai antara {0} dan {1} aksara."),
  28 + range: $.validator.format("Sila masukkan nilai antara {0} dan {1} aksara."),
  29 + max: $.validator.format("Sila masukkan nilai yang kurang atau sama dengan {0}."),
  30 + min: $.validator.format("Sila masukkan nilai yang lebih atau sama dengan {0}.")
  31 +});
  32 +
  33 +}));
0 \ No newline at end of file 34 \ No newline at end of file
src/main/resources/static/real_control_v2/assets/plugins/jquery-validation/js/localization/messages_my.min.js 0 → 100644
  1 +/*! jQuery Validation Plugin - v1.14.0 - 6/30/2015
  2 + * http://jqueryvalidation.org/
  3 + * Copyright (c) 2015 Jörn Zaefferer; Licensed MIT */
  4 +!function(a){"function"==typeof define&&define.amd?define(["jquery","../jquery.validate.min"],a):a(jQuery)}(function(a){a.extend(a.validator.messages,{required:"Medan ini diperlukan.",remote:"Sila betulkan medan ini.",email:"Sila masukkan alamat emel yang betul.",url:"Sila masukkan URL yang betul.",date:"Sila masukkan tarikh yang betul.",dateISO:"Sila masukkan tarikh(ISO) yang betul.",number:"Sila masukkan nombor yang betul.",digits:"Sila masukkan nilai digit sahaja.",creditcard:"Sila masukkan nombor kredit kad yang betul.",equalTo:"Sila masukkan nilai yang sama semula.",extension:"Sila masukkan nilai yang telah diterima.",maxlength:a.validator.format("Sila masukkan nilai tidak lebih dari {0} aksara."),minlength:a.validator.format("Sila masukkan nilai sekurang-kurangnya {0} aksara."),rangelength:a.validator.format("Sila masukkan panjang nilai antara {0} dan {1} aksara."),range:a.validator.format("Sila masukkan nilai antara {0} dan {1} aksara."),max:a.validator.format("Sila masukkan nilai yang kurang atau sama dengan {0}."),min:a.validator.format("Sila masukkan nilai yang lebih atau sama dengan {0}.")})});
0 \ No newline at end of file 5 \ No newline at end of file
src/main/resources/static/real_control_v2/assets/plugins/jquery-validation/js/localization/messages_nl.js 0 → 100644
  1 +(function( factory ) {
  2 + if ( typeof define === "function" && define.amd ) {
  3 + define( ["jquery", "../jquery.validate"], factory );
  4 + } else {
  5 + factory( jQuery );
  6 + }
  7 +}(function( $ ) {
  8 +
  9 +/*
  10 + * Translated default messages for the jQuery validation plugin.
  11 + * Locale: NL (Dutch; Nederlands, Vlaams)
  12 + */
  13 +$.extend($.validator.messages, {
  14 + required: "Dit is een verplicht veld.",
  15 + remote: "Controleer dit veld.",
  16 + email: "Vul hier een geldig e-mailadres in.",
  17 + url: "Vul hier een geldige URL in.",
  18 + date: "Vul hier een geldige datum in.",
  19 + dateISO: "Vul hier een geldige datum in (ISO-formaat).",
  20 + number: "Vul hier een geldig getal in.",
  21 + digits: "Vul hier alleen getallen in.",
  22 + creditcard: "Vul hier een geldig creditcardnummer in.",
  23 + equalTo: "Vul hier dezelfde waarde in.",
  24 + extension: "Vul hier een waarde in met een geldige extensie.",
  25 + maxlength: $.validator.format("Vul hier maximaal {0} tekens in."),
  26 + minlength: $.validator.format("Vul hier minimaal {0} tekens in."),
  27 + rangelength: $.validator.format("Vul hier een waarde in van minimaal {0} en maximaal {1} tekens."),
  28 + range: $.validator.format("Vul hier een waarde in van minimaal {0} en maximaal {1}."),
  29 + max: $.validator.format("Vul hier een waarde in kleiner dan of gelijk aan {0}."),
  30 + min: $.validator.format("Vul hier een waarde in groter dan of gelijk aan {0}."),
  31 +
  32 + // for validations in additional-methods.js
  33 + iban: "Vul hier een geldig IBAN in.",
  34 + dateNL: "Vul hier een geldige datum in.",
  35 + phoneNL: "Vul hier een geldig Nederlands telefoonnummer in.",
  36 + mobileNL: "Vul hier een geldig Nederlands mobiel telefoonnummer in.",
  37 + postalcodeNL: "Vul hier een geldige postcode in.",
  38 + bankaccountNL: "Vul hier een geldig bankrekeningnummer in.",
  39 + giroaccountNL: "Vul hier een geldig gironummer in.",
  40 + bankorgiroaccountNL: "Vul hier een geldig bank- of gironummer in."
  41 +});
  42 +
  43 +}));
0 \ No newline at end of file 44 \ No newline at end of file
src/main/resources/static/real_control_v2/assets/plugins/jquery-validation/js/localization/messages_nl.min.js 0 → 100644
  1 +/*! jQuery Validation Plugin - v1.14.0 - 6/30/2015
  2 + * http://jqueryvalidation.org/
  3 + * Copyright (c) 2015 Jörn Zaefferer; Licensed MIT */
  4 +!function(a){"function"==typeof define&&define.amd?define(["jquery","../jquery.validate.min"],a):a(jQuery)}(function(a){a.extend(a.validator.messages,{required:"Dit is een verplicht veld.",remote:"Controleer dit veld.",email:"Vul hier een geldig e-mailadres in.",url:"Vul hier een geldige URL in.",date:"Vul hier een geldige datum in.",dateISO:"Vul hier een geldige datum in (ISO-formaat).",number:"Vul hier een geldig getal in.",digits:"Vul hier alleen getallen in.",creditcard:"Vul hier een geldig creditcardnummer in.",equalTo:"Vul hier dezelfde waarde in.",extension:"Vul hier een waarde in met een geldige extensie.",maxlength:a.validator.format("Vul hier maximaal {0} tekens in."),minlength:a.validator.format("Vul hier minimaal {0} tekens in."),rangelength:a.validator.format("Vul hier een waarde in van minimaal {0} en maximaal {1} tekens."),range:a.validator.format("Vul hier een waarde in van minimaal {0} en maximaal {1}."),max:a.validator.format("Vul hier een waarde in kleiner dan of gelijk aan {0}."),min:a.validator.format("Vul hier een waarde in groter dan of gelijk aan {0}."),iban:"Vul hier een geldig IBAN in.",dateNL:"Vul hier een geldige datum in.",phoneNL:"Vul hier een geldig Nederlands telefoonnummer in.",mobileNL:"Vul hier een geldig Nederlands mobiel telefoonnummer in.",postalcodeNL:"Vul hier een geldige postcode in.",bankaccountNL:"Vul hier een geldig bankrekeningnummer in.",giroaccountNL:"Vul hier een geldig gironummer in.",bankorgiroaccountNL:"Vul hier een geldig bank- of gironummer in."})});
0 \ No newline at end of file 5 \ No newline at end of file
src/main/resources/static/real_control_v2/assets/plugins/jquery-validation/js/localization/messages_no.js 0 → 100644
  1 +(function( factory ) {
  2 + if ( typeof define === "function" && define.amd ) {
  3 + define( ["jquery", "../jquery.validate"], factory );
  4 + } else {
  5 + factory( jQuery );
  6 + }
  7 +}(function( $ ) {
  8 +
  9 +/*
  10 + * Translated default messages for the jQuery validation plugin.
  11 + * Locale: NO (Norwegian; Norsk)
  12 + */
  13 +$.extend($.validator.messages, {
  14 + required: "Dette feltet er obligatorisk.",
  15 + maxlength: $.validator.format("Maksimalt {0} tegn."),
  16 + minlength: $.validator.format("Minimum {0} tegn."),
  17 + rangelength: $.validator.format("Angi minimum {0} og maksimum {1} tegn."),
  18 + email: "Oppgi en gyldig epostadresse.",
  19 + url: "Angi en gyldig URL.",
  20 + date: "Angi en gyldig dato.",
  21 + dateISO: "Angi en gyldig dato (&ARING;&ARING;&ARING;&ARING;-MM-DD).",
  22 + dateSE: "Angi en gyldig dato.",
  23 + number: "Angi et gyldig nummer.",
  24 + numberSE: "Angi et gyldig nummer.",
  25 + digits: "Skriv kun tall.",
  26 + equalTo: "Skriv samme verdi igjen.",
  27 + range: $.validator.format("Angi en verdi mellom {0} og {1}."),
  28 + max: $.validator.format("Angi en verdi som er mindre eller lik {0}."),
  29 + min: $.validator.format("Angi en verdi som er st&oslash;rre eller lik {0}."),
  30 + creditcard: "Angi et gyldig kredittkortnummer."
  31 +});
  32 +
  33 +}));
0 \ No newline at end of file 34 \ No newline at end of file
src/main/resources/static/real_control_v2/assets/plugins/jquery-validation/js/localization/messages_no.min.js 0 → 100644
  1 +/*! jQuery Validation Plugin - v1.14.0 - 6/30/2015
  2 + * http://jqueryvalidation.org/
  3 + * Copyright (c) 2015 Jörn Zaefferer; Licensed MIT */
  4 +!function(a){"function"==typeof define&&define.amd?define(["jquery","../jquery.validate.min"],a):a(jQuery)}(function(a){a.extend(a.validator.messages,{required:"Dette feltet er obligatorisk.",maxlength:a.validator.format("Maksimalt {0} tegn."),minlength:a.validator.format("Minimum {0} tegn."),rangelength:a.validator.format("Angi minimum {0} og maksimum {1} tegn."),email:"Oppgi en gyldig epostadresse.",url:"Angi en gyldig URL.",date:"Angi en gyldig dato.",dateISO:"Angi en gyldig dato (&ARING;&ARING;&ARING;&ARING;-MM-DD).",dateSE:"Angi en gyldig dato.",number:"Angi et gyldig nummer.",numberSE:"Angi et gyldig nummer.",digits:"Skriv kun tall.",equalTo:"Skriv samme verdi igjen.",range:a.validator.format("Angi en verdi mellom {0} og {1}."),max:a.validator.format("Angi en verdi som er mindre eller lik {0}."),min:a.validator.format("Angi en verdi som er st&oslash;rre eller lik {0}."),creditcard:"Angi et gyldig kredittkortnummer."})});
0 \ No newline at end of file 5 \ No newline at end of file
src/main/resources/static/real_control_v2/assets/plugins/jquery-validation/js/localization/messages_pl.js 0 → 100644
  1 +(function( factory ) {
  2 + if ( typeof define === "function" && define.amd ) {
  3 + define( ["jquery", "../jquery.validate"], factory );
  4 + } else {
  5 + factory( jQuery );
  6 + }
  7 +}(function( $ ) {
  8 +
  9 +/*
  10 + * Translated default messages for the jQuery validation plugin.
  11 + * Locale: PL (Polish; język polski, polszczyzna)
  12 + */
  13 +$.extend($.validator.messages, {
  14 + required: "To pole jest wymagane.",
  15 + remote: "Proszę o wypełnienie tego pola.",
  16 + email: "Proszę o podanie prawidłowego adresu email.",
  17 + url: "Proszę o podanie prawidłowego URL.",
  18 + date: "Proszę o podanie prawidłowej daty.",
  19 + dateISO: "Proszę o podanie prawidłowej daty (ISO).",
  20 + number: "Proszę o podanie prawidłowej liczby.",
  21 + digits: "Proszę o podanie samych cyfr.",
  22 + creditcard: "Proszę o podanie prawidłowej karty kredytowej.",
  23 + equalTo: "Proszę o podanie tej samej wartości ponownie.",
  24 + extension: "Proszę o podanie wartości z prawidłowym rozszerzeniem.",
  25 + maxlength: $.validator.format("Proszę o podanie nie więcej niż {0} znaków."),
  26 + minlength: $.validator.format("Proszę o podanie przynajmniej {0} znaków."),
  27 + rangelength: $.validator.format("Proszę o podanie wartości o długości od {0} do {1} znaków."),
  28 + range: $.validator.format("Proszę o podanie wartości z przedziału od {0} do {1}."),
  29 + max: $.validator.format("Proszę o podanie wartości mniejszej bądź równej {0}."),
  30 + min: $.validator.format("Proszę o podanie wartości większej bądź równej {0}.")
  31 +});
  32 +
  33 +}));
0 \ No newline at end of file 34 \ No newline at end of file
src/main/resources/static/real_control_v2/assets/plugins/jquery-validation/js/localization/messages_pl.min.js 0 → 100644
  1 +/*! jQuery Validation Plugin - v1.14.0 - 6/30/2015
  2 + * http://jqueryvalidation.org/
  3 + * Copyright (c) 2015 Jörn Zaefferer; Licensed MIT */
  4 +!function(a){"function"==typeof define&&define.amd?define(["jquery","../jquery.validate.min"],a):a(jQuery)}(function(a){a.extend(a.validator.messages,{required:"To pole jest wymagane.",remote:"Proszę o wypełnienie tego pola.",email:"Proszę o podanie prawidłowego adresu email.",url:"Proszę o podanie prawidłowego URL.",date:"Proszę o podanie prawidłowej daty.",dateISO:"Proszę o podanie prawidłowej daty (ISO).",number:"Proszę o podanie prawidłowej liczby.",digits:"Proszę o podanie samych cyfr.",creditcard:"Proszę o podanie prawidłowej karty kredytowej.",equalTo:"Proszę o podanie tej samej wartości ponownie.",extension:"Proszę o podanie wartości z prawidłowym rozszerzeniem.",maxlength:a.validator.format("Proszę o podanie nie więcej niż {0} znaków."),minlength:a.validator.format("Proszę o podanie przynajmniej {0} znaków."),rangelength:a.validator.format("Proszę o podanie wartości o długości od {0} do {1} znaków."),range:a.validator.format("Proszę o podanie wartości z przedziału od {0} do {1}."),max:a.validator.format("Proszę o podanie wartości mniejszej bądź równej {0}."),min:a.validator.format("Proszę o podanie wartości większej bądź równej {0}.")})});
0 \ No newline at end of file 5 \ No newline at end of file
src/main/resources/static/real_control_v2/assets/plugins/jquery-validation/js/localization/messages_pt_BR.js 0 → 100644
  1 +(function( factory ) {
  2 + if ( typeof define === "function" && define.amd ) {
  3 + define( ["jquery", "../jquery.validate"], factory );
  4 + } else {
  5 + factory( jQuery );
  6 + }
  7 +}(function( $ ) {
  8 +
  9 +/*
  10 + * Translated default messages for the jQuery validation plugin.
  11 + * Locale: PT (Portuguese; português)
  12 + * Region: BR (Brazil)
  13 + */
  14 +$.extend($.validator.messages, {
  15 + required: "Este campo &eacute; requerido.",
  16 + remote: "Por favor, corrija este campo.",
  17 + email: "Por favor, forne&ccedil;a um endere&ccedil;o de email v&aacute;lido.",
  18 + url: "Por favor, forne&ccedil;a uma URL v&aacute;lida.",
  19 + date: "Por favor, forne&ccedil;a uma data v&aacute;lida.",
  20 + dateISO: "Por favor, forne&ccedil;a uma data v&aacute;lida (ISO).",
  21 + number: "Por favor, forne&ccedil;a um n&uacute;mero v&aacute;lido.",
  22 + digits: "Por favor, forne&ccedil;a somente d&iacute;gitos.",
  23 + creditcard: "Por favor, forne&ccedil;a um cart&atilde;o de cr&eacute;dito v&aacute;lido.",
  24 + equalTo: "Por favor, forne&ccedil;a o mesmo valor novamente.",
  25 + extension: "Por favor, forne&ccedil;a um valor com uma extens&atilde;o v&aacute;lida.",
  26 + maxlength: $.validator.format("Por favor, forne&ccedil;a n&atilde;o mais que {0} caracteres."),
  27 + minlength: $.validator.format("Por favor, forne&ccedil;a ao menos {0} caracteres."),
  28 + rangelength: $.validator.format("Por favor, forne&ccedil;a um valor entre {0} e {1} caracteres de comprimento."),
  29 + range: $.validator.format("Por favor, forne&ccedil;a um valor entre {0} e {1}."),
  30 + max: $.validator.format("Por favor, forne&ccedil;a um valor menor ou igual a {0}."),
  31 + min: $.validator.format("Por favor, forne&ccedil;a um valor maior ou igual a {0}."),
  32 + nifES: "Por favor, forne&ccedil;a um NIF v&aacute;lido.",
  33 + nieES: "Por favor, forne&ccedil;a um NIE v&aacute;lido.",
  34 + cifEE: "Por favor, forne&ccedil;a um CIF v&aacute;lido.",
  35 + postalcodeBR: "Por favor, forne&ccedil;a um CEP v&aacute;lido.",
  36 + cpfBR: "Por favor, forne&ccedil;a um CPF v&aacute;lido."
  37 +});
  38 +
  39 +}));
0 \ No newline at end of file 40 \ No newline at end of file
src/main/resources/static/real_control_v2/assets/plugins/jquery-validation/js/localization/messages_pt_BR.min.js 0 → 100644
  1 +/*! jQuery Validation Plugin - v1.14.0 - 6/30/2015
  2 + * http://jqueryvalidation.org/
  3 + * Copyright (c) 2015 Jörn Zaefferer; Licensed MIT */
  4 +!function(a){"function"==typeof define&&define.amd?define(["jquery","../jquery.validate.min"],a):a(jQuery)}(function(a){a.extend(a.validator.messages,{required:"Este campo &eacute; requerido.",remote:"Por favor, corrija este campo.",email:"Por favor, forne&ccedil;a um endere&ccedil;o de email v&aacute;lido.",url:"Por favor, forne&ccedil;a uma URL v&aacute;lida.",date:"Por favor, forne&ccedil;a uma data v&aacute;lida.",dateISO:"Por favor, forne&ccedil;a uma data v&aacute;lida (ISO).",number:"Por favor, forne&ccedil;a um n&uacute;mero v&aacute;lido.",digits:"Por favor, forne&ccedil;a somente d&iacute;gitos.",creditcard:"Por favor, forne&ccedil;a um cart&atilde;o de cr&eacute;dito v&aacute;lido.",equalTo:"Por favor, forne&ccedil;a o mesmo valor novamente.",extension:"Por favor, forne&ccedil;a um valor com uma extens&atilde;o v&aacute;lida.",maxlength:a.validator.format("Por favor, forne&ccedil;a n&atilde;o mais que {0} caracteres."),minlength:a.validator.format("Por favor, forne&ccedil;a ao menos {0} caracteres."),rangelength:a.validator.format("Por favor, forne&ccedil;a um valor entre {0} e {1} caracteres de comprimento."),range:a.validator.format("Por favor, forne&ccedil;a um valor entre {0} e {1}."),max:a.validator.format("Por favor, forne&ccedil;a um valor menor ou igual a {0}."),min:a.validator.format("Por favor, forne&ccedil;a um valor maior ou igual a {0}."),nifES:"Por favor, forne&ccedil;a um NIF v&aacute;lido.",nieES:"Por favor, forne&ccedil;a um NIE v&aacute;lido.",cifEE:"Por favor, forne&ccedil;a um CIF v&aacute;lido.",postalcodeBR:"Por favor, forne&ccedil;a um CEP v&aacute;lido.",cpfBR:"Por favor, forne&ccedil;a um CPF v&aacute;lido."})});
0 \ No newline at end of file 5 \ No newline at end of file
src/main/resources/static/real_control_v2/assets/plugins/jquery-validation/js/localization/messages_pt_PT.js 0 → 100644
  1 +(function( factory ) {
  2 + if ( typeof define === "function" && define.amd ) {
  3 + define( ["jquery", "../jquery.validate"], factory );
  4 + } else {
  5 + factory( jQuery );
  6 + }
  7 +}(function( $ ) {
  8 +
  9 +/*
  10 + * Translated default messages for the jQuery validation plugin.
  11 + * Locale: PT (Portuguese; português)
  12 + * Region: PT (Portugal)
  13 + */
  14 +$.extend($.validator.messages, {
  15 + required: "Campo de preenchimento obrigat&oacute;rio.",
  16 + remote: "Por favor, corrija este campo.",
  17 + email: "Por favor, introduza um endere&ccedil;o eletr&oacute;nico v&aacute;lido.",
  18 + url: "Por favor, introduza um URL v&aacute;lido.",
  19 + date: "Por favor, introduza uma data v&aacute;lida.",
  20 + dateISO: "Por favor, introduza uma data v&aacute;lida (ISO).",
  21 + number: "Por favor, introduza um n&uacute;mero v&aacute;lido.",
  22 + digits: "Por favor, introduza apenas d&iacute;gitos.",
  23 + creditcard: "Por favor, introduza um n&uacute;mero de cart&atilde;o de cr&eacute;dito v&aacute;lido.",
  24 + equalTo: "Por favor, introduza de novo o mesmo valor.",
  25 + extension: "Por favor, introduza um ficheiro com uma extens&atilde;o v&aacute;lida.",
  26 + maxlength: $.validator.format("Por favor, n&atilde;o introduza mais do que {0} caracteres."),
  27 + minlength: $.validator.format("Por favor, introduza pelo menos {0} caracteres."),
  28 + rangelength: $.validator.format("Por favor, introduza entre {0} e {1} caracteres."),
  29 + range: $.validator.format("Por favor, introduza um valor entre {0} e {1}."),
  30 + max: $.validator.format("Por favor, introduza um valor menor ou igual a {0}."),
  31 + min: $.validator.format("Por favor, introduza um valor maior ou igual a {0}."),
  32 + nifES: "Por favor, introduza um NIF v&aacute;lido.",
  33 + nieES: "Por favor, introduza um NIE v&aacute;lido.",
  34 + cifES: "Por favor, introduza um CIF v&aacute;lido."
  35 +});
  36 +
  37 +}));
0 \ No newline at end of file 38 \ No newline at end of file
src/main/resources/static/real_control_v2/assets/plugins/jquery-validation/js/localization/messages_pt_PT.min.js 0 → 100644
  1 +/*! jQuery Validation Plugin - v1.14.0 - 6/30/2015
  2 + * http://jqueryvalidation.org/
  3 + * Copyright (c) 2015 Jörn Zaefferer; Licensed MIT */
  4 +!function(a){"function"==typeof define&&define.amd?define(["jquery","../jquery.validate.min"],a):a(jQuery)}(function(a){a.extend(a.validator.messages,{required:"Campo de preenchimento obrigat&oacute;rio.",remote:"Por favor, corrija este campo.",email:"Por favor, introduza um endere&ccedil;o eletr&oacute;nico v&aacute;lido.",url:"Por favor, introduza um URL v&aacute;lido.",date:"Por favor, introduza uma data v&aacute;lida.",dateISO:"Por favor, introduza uma data v&aacute;lida (ISO).",number:"Por favor, introduza um n&uacute;mero v&aacute;lido.",digits:"Por favor, introduza apenas d&iacute;gitos.",creditcard:"Por favor, introduza um n&uacute;mero de cart&atilde;o de cr&eacute;dito v&aacute;lido.",equalTo:"Por favor, introduza de novo o mesmo valor.",extension:"Por favor, introduza um ficheiro com uma extens&atilde;o v&aacute;lida.",maxlength:a.validator.format("Por favor, n&atilde;o introduza mais do que {0} caracteres."),minlength:a.validator.format("Por favor, introduza pelo menos {0} caracteres."),rangelength:a.validator.format("Por favor, introduza entre {0} e {1} caracteres."),range:a.validator.format("Por favor, introduza um valor entre {0} e {1}."),max:a.validator.format("Por favor, introduza um valor menor ou igual a {0}."),min:a.validator.format("Por favor, introduza um valor maior ou igual a {0}."),nifES:"Por favor, introduza um NIF v&aacute;lido.",nieES:"Por favor, introduza um NIE v&aacute;lido.",cifES:"Por favor, introduza um CIF v&aacute;lido."})});
0 \ No newline at end of file 5 \ No newline at end of file
src/main/resources/static/real_control_v2/assets/plugins/jquery-validation/js/localization/messages_ro.js 0 → 100644
  1 +(function( factory ) {
  2 + if ( typeof define === "function" && define.amd ) {
  3 + define( ["jquery", "../jquery.validate"], factory );
  4 + } else {
  5 + factory( jQuery );
  6 + }
  7 +}(function( $ ) {
  8 +
  9 +/*
  10 + * Translated default messages for the jQuery validation plugin.
  11 + * Locale: RO (Romanian, limba română)
  12 + */
  13 +$.extend($.validator.messages, {
  14 + required: "Acest câmp este obligatoriu.",
  15 + remote: "Te rugăm să completezi acest câmp.",
  16 + email: "Te rugăm să introduci o adresă de email validă",
  17 + url: "Te rugăm sa introduci o adresă URL validă.",
  18 + date: "Te rugăm să introduci o dată corectă.",
  19 + dateISO: "Te rugăm să introduci o dată (ISO) corectă.",
  20 + number: "Te rugăm să introduci un număr întreg valid.",
  21 + digits: "Te rugăm să introduci doar cifre.",
  22 + creditcard: "Te rugăm să introduci un numar de carte de credit valid.",
  23 + equalTo: "Te rugăm să reintroduci valoarea.",
  24 + extension: "Te rugăm să introduci o valoare cu o extensie validă.",
  25 + maxlength: $.validator.format("Te rugăm să nu introduci mai mult de {0} caractere."),
  26 + minlength: $.validator.format("Te rugăm să introduci cel puțin {0} caractere."),
  27 + rangelength: $.validator.format("Te rugăm să introduci o valoare între {0} și {1} caractere."),
  28 + range: $.validator.format("Te rugăm să introduci o valoare între {0} și {1}."),
  29 + max: $.validator.format("Te rugăm să introduci o valoare egal sau mai mică decât {0}."),
  30 + min: $.validator.format("Te rugăm să introduci o valoare egal sau mai mare decât {0}.")
  31 +});
  32 +
  33 +}));
0 \ No newline at end of file 34 \ No newline at end of file
src/main/resources/static/real_control_v2/assets/plugins/jquery-validation/js/localization/messages_ro.min.js 0 → 100644
  1 +/*! jQuery Validation Plugin - v1.14.0 - 6/30/2015
  2 + * http://jqueryvalidation.org/
  3 + * Copyright (c) 2015 Jörn Zaefferer; Licensed MIT */
  4 +!function(a){"function"==typeof define&&define.amd?define(["jquery","../jquery.validate.min"],a):a(jQuery)}(function(a){a.extend(a.validator.messages,{required:"Acest câmp este obligatoriu.",remote:"Te rugăm să completezi acest câmp.",email:"Te rugăm să introduci o adresă de email validă",url:"Te rugăm sa introduci o adresă URL validă.",date:"Te rugăm să introduci o dată corectă.",dateISO:"Te rugăm să introduci o dată (ISO) corectă.",number:"Te rugăm să introduci un număr întreg valid.",digits:"Te rugăm să introduci doar cifre.",creditcard:"Te rugăm să introduci un numar de carte de credit valid.",equalTo:"Te rugăm să reintroduci valoarea.",extension:"Te rugăm să introduci o valoare cu o extensie validă.",maxlength:a.validator.format("Te rugăm să nu introduci mai mult de {0} caractere."),minlength:a.validator.format("Te rugăm să introduci cel puțin {0} caractere."),rangelength:a.validator.format("Te rugăm să introduci o valoare între {0} și {1} caractere."),range:a.validator.format("Te rugăm să introduci o valoare între {0} și {1}."),max:a.validator.format("Te rugăm să introduci o valoare egal sau mai mică decât {0}."),min:a.validator.format("Te rugăm să introduci o valoare egal sau mai mare decât {0}.")})});
0 \ No newline at end of file 5 \ No newline at end of file
src/main/resources/static/real_control_v2/assets/plugins/jquery-validation/js/localization/messages_ru.js 0 → 100644
  1 +(function( factory ) {
  2 + if ( typeof define === "function" && define.amd ) {
  3 + define( ["jquery", "../jquery.validate"], factory );
  4 + } else {
  5 + factory( jQuery );
  6 + }
  7 +}(function( $ ) {
  8 +
  9 +/*
  10 + * Translated default messages for the jQuery validation plugin.
  11 + * Locale: RU (Russian; русский язык)
  12 + */
  13 +$.extend($.validator.messages, {
  14 + required: "Это поле необходимо заполнить.",
  15 + remote: "Пожалуйста, введите правильное значение.",
  16 + email: "Пожалуйста, введите корректный адрес электронной почты.",
  17 + url: "Пожалуйста, введите корректный URL.",
  18 + date: "Пожалуйста, введите корректную дату.",
  19 + dateISO: "Пожалуйста, введите корректную дату в формате ISO.",
  20 + number: "Пожалуйста, введите число.",
  21 + digits: "Пожалуйста, вводите только цифры.",
  22 + creditcard: "Пожалуйста, введите правильный номер кредитной карты.",
  23 + equalTo: "Пожалуйста, введите такое же значение ещё раз.",
  24 + extension: "Пожалуйста, выберите файл с правильным расширением.",
  25 + maxlength: $.validator.format("Пожалуйста, введите не больше {0} символов."),
  26 + minlength: $.validator.format("Пожалуйста, введите не меньше {0} символов."),
  27 + rangelength: $.validator.format("Пожалуйста, введите значение длиной от {0} до {1} символов."),
  28 + range: $.validator.format("Пожалуйста, введите число от {0} до {1}."),
  29 + max: $.validator.format("Пожалуйста, введите число, меньшее или равное {0}."),
  30 + min: $.validator.format("Пожалуйста, введите число, большее или равное {0}.")
  31 +});
  32 +
  33 +}));
0 \ No newline at end of file 34 \ No newline at end of file
src/main/resources/static/real_control_v2/assets/plugins/jquery-validation/js/localization/messages_ru.min.js 0 → 100644
  1 +/*! jQuery Validation Plugin - v1.14.0 - 6/30/2015
  2 + * http://jqueryvalidation.org/
  3 + * Copyright (c) 2015 Jörn Zaefferer; Licensed MIT */
  4 +!function(a){"function"==typeof define&&define.amd?define(["jquery","../jquery.validate.min"],a):a(jQuery)}(function(a){a.extend(a.validator.messages,{required:"Это поле необходимо заполнить.",remote:"Пожалуйста, введите правильное значение.",email:"Пожалуйста, введите корректный адрес электронной почты.",url:"Пожалуйста, введите корректный URL.",date:"Пожалуйста, введите корректную дату.",dateISO:"Пожалуйста, введите корректную дату в формате ISO.",number:"Пожалуйста, введите число.",digits:"Пожалуйста, вводите только цифры.",creditcard:"Пожалуйста, введите правильный номер кредитной карты.",equalTo:"Пожалуйста, введите такое же значение ещё раз.",extension:"Пожалуйста, выберите файл с правильным расширением.",maxlength:a.validator.format("Пожалуйста, введите не больше {0} символов."),minlength:a.validator.format("Пожалуйста, введите не меньше {0} символов."),rangelength:a.validator.format("Пожалуйста, введите значение длиной от {0} до {1} символов."),range:a.validator.format("Пожалуйста, введите число от {0} до {1}."),max:a.validator.format("Пожалуйста, введите число, меньшее или равное {0}."),min:a.validator.format("Пожалуйста, введите число, большее или равное {0}.")})});
0 \ No newline at end of file 5 \ No newline at end of file
src/main/resources/static/real_control_v2/assets/plugins/jquery-validation/js/localization/messages_si.js 0 → 100644
  1 +(function( factory ) {
  2 + if ( typeof define === "function" && define.amd ) {
  3 + define( ["jquery", "../jquery.validate"], factory );
  4 + } else {
  5 + factory( jQuery );
  6 + }
  7 +}(function( $ ) {
  8 +
  9 +/*
  10 + * Translated default messages for the jQuery validation plugin.
  11 + * Locale: SI (Slovenian)
  12 + */
  13 +$.extend($.validator.messages, {
  14 + required: "To polje je obvezno.",
  15 + remote: "Vpis v tem polju ni v pravi obliki.",
  16 + email: "Prosimo, vnesite pravi email naslov.",
  17 + url: "Prosimo, vnesite pravi URL.",
  18 + date: "Prosimo, vnesite pravi datum.",
  19 + dateISO: "Prosimo, vnesite pravi datum (ISO).",
  20 + number: "Prosimo, vnesite pravo številko.",
  21 + digits: "Prosimo, vnesite samo številke.",
  22 + creditcard: "Prosimo, vnesite pravo številko kreditne kartice.",
  23 + equalTo: "Prosimo, ponovno vnesite enako vsebino.",
  24 + extension: "Prosimo, vnesite vsebino z pravo končnico.",
  25 + maxlength: $.validator.format("Prosimo, da ne vnašate več kot {0} znakov."),
  26 + minlength: $.validator.format("Prosimo, vnesite vsaj {0} znakov."),
  27 + rangelength: $.validator.format("Prosimo, vnesite od {0} do {1} znakov."),
  28 + range: $.validator.format("Prosimo, vnesite vrednost med {0} in {1}."),
  29 + max: $.validator.format("Prosimo, vnesite vrednost manjšo ali enako {0}."),
  30 + min: $.validator.format("Prosimo, vnesite vrednost večjo ali enako {0}.")
  31 +});
  32 +
  33 +}));
0 \ No newline at end of file 34 \ No newline at end of file
src/main/resources/static/real_control_v2/assets/plugins/jquery-validation/js/localization/messages_si.min.js 0 → 100644
  1 +/*! jQuery Validation Plugin - v1.14.0 - 6/30/2015
  2 + * http://jqueryvalidation.org/
  3 + * Copyright (c) 2015 Jörn Zaefferer; Licensed MIT */
  4 +!function(a){"function"==typeof define&&define.amd?define(["jquery","../jquery.validate.min"],a):a(jQuery)}(function(a){a.extend(a.validator.messages,{required:"To polje je obvezno.",remote:"Vpis v tem polju ni v pravi obliki.",email:"Prosimo, vnesite pravi email naslov.",url:"Prosimo, vnesite pravi URL.",date:"Prosimo, vnesite pravi datum.",dateISO:"Prosimo, vnesite pravi datum (ISO).",number:"Prosimo, vnesite pravo številko.",digits:"Prosimo, vnesite samo številke.",creditcard:"Prosimo, vnesite pravo številko kreditne kartice.",equalTo:"Prosimo, ponovno vnesite enako vsebino.",extension:"Prosimo, vnesite vsebino z pravo končnico.",maxlength:a.validator.format("Prosimo, da ne vnašate več kot {0} znakov."),minlength:a.validator.format("Prosimo, vnesite vsaj {0} znakov."),rangelength:a.validator.format("Prosimo, vnesite od {0} do {1} znakov."),range:a.validator.format("Prosimo, vnesite vrednost med {0} in {1}."),max:a.validator.format("Prosimo, vnesite vrednost manjšo ali enako {0}."),min:a.validator.format("Prosimo, vnesite vrednost večjo ali enako {0}.")})});
0 \ No newline at end of file 5 \ No newline at end of file
src/main/resources/static/real_control_v2/assets/plugins/jquery-validation/js/localization/messages_sk.js 0 → 100644
  1 +(function( factory ) {
  2 + if ( typeof define === "function" && define.amd ) {
  3 + define( ["jquery", "../jquery.validate"], factory );
  4 + } else {
  5 + factory( jQuery );
  6 + }
  7 +}(function( $ ) {
  8 +
  9 +/*
  10 + * Translated default messages for the jQuery validation plugin.
  11 + * Locale: SK (Slovak; slovenčina, slovenský jazyk)
  12 + */
  13 +$.extend($.validator.messages, {
  14 + required: "Povinné zadať.",
  15 + maxlength: $.validator.format("Maximálne {0} znakov."),
  16 + minlength: $.validator.format("Minimálne {0} znakov."),
  17 + rangelength: $.validator.format("Minimálne {0} a Maximálne {1} znakov."),
  18 + email: "E-mailová adresa musí byť platná.",
  19 + url: "URL musí byť platný.",
  20 + date: "Musí byť dátum.",
  21 + number: "Musí byť číslo.",
  22 + digits: "Môže obsahovať iba číslice.",
  23 + equalTo: "Dva hodnoty sa musia rovnať.",
  24 + range: $.validator.format("Musí byť medzi {0} a {1}."),
  25 + max: $.validator.format("Nemôže byť viac ako{0}."),
  26 + min: $.validator.format("Nemôže byť menej ako{0}."),
  27 + creditcard: "Číslo platobnej karty musí byť platné."
  28 +});
  29 +
  30 +}));
0 \ No newline at end of file 31 \ No newline at end of file
src/main/resources/static/real_control_v2/assets/plugins/jquery-validation/js/localization/messages_sk.min.js 0 → 100644
  1 +/*! jQuery Validation Plugin - v1.14.0 - 6/30/2015
  2 + * http://jqueryvalidation.org/
  3 + * Copyright (c) 2015 Jörn Zaefferer; Licensed MIT */
  4 +!function(a){"function"==typeof define&&define.amd?define(["jquery","../jquery.validate.min"],a):a(jQuery)}(function(a){a.extend(a.validator.messages,{required:"Povinné zadať.",maxlength:a.validator.format("Maximálne {0} znakov."),minlength:a.validator.format("Minimálne {0} znakov."),rangelength:a.validator.format("Minimálne {0} a Maximálne {1} znakov."),email:"E-mailová adresa musí byť platná.",url:"URL musí byť platný.",date:"Musí byť dátum.",number:"Musí byť číslo.",digits:"Môže obsahovať iba číslice.",equalTo:"Dva hodnoty sa musia rovnať.",range:a.validator.format("Musí byť medzi {0} a {1}."),max:a.validator.format("Nemôže byť viac ako{0}."),min:a.validator.format("Nemôže byť menej ako{0}."),creditcard:"Číslo platobnej karty musí byť platné."})});
0 \ No newline at end of file 5 \ No newline at end of file
src/main/resources/static/real_control_v2/assets/plugins/jquery-validation/js/localization/messages_sl.js 0 → 100644
  1 +(function( factory ) {
  2 + if ( typeof define === "function" && define.amd ) {
  3 + define( ["jquery", "../jquery.validate"], factory );
  4 + } else {
  5 + factory( jQuery );
  6 + }
  7 +}(function( $ ) {
  8 +
  9 +/*
  10 + * Translated default messages for the jQuery validation plugin.
  11 + * Language: SL (Slovenian; slovenski jezik)
  12 + */
  13 +$.extend($.validator.messages, {
  14 + required: "To polje je obvezno.",
  15 + remote: "Prosimo popravite to polje.",
  16 + email: "Prosimo vnesite veljaven email naslov.",
  17 + url: "Prosimo vnesite veljaven URL naslov.",
  18 + date: "Prosimo vnesite veljaven datum.",
  19 + dateISO: "Prosimo vnesite veljaven ISO datum.",
  20 + number: "Prosimo vnesite veljavno število.",
  21 + digits: "Prosimo vnesite samo števila.",
  22 + creditcard: "Prosimo vnesite veljavno številko kreditne kartice.",
  23 + equalTo: "Prosimo ponovno vnesite vrednost.",
  24 + extension: "Prosimo vnesite vrednost z veljavno končnico.",
  25 + maxlength: $.validator.format("Prosimo vnesite največ {0} znakov."),
  26 + minlength: $.validator.format("Prosimo vnesite najmanj {0} znakov."),
  27 + rangelength: $.validator.format("Prosimo vnesite najmanj {0} in največ {1} znakov."),
  28 + range: $.validator.format("Prosimo vnesite vrednost med {0} in {1}."),
  29 + max: $.validator.format("Prosimo vnesite vrednost manjše ali enako {0}."),
  30 + min: $.validator.format("Prosimo vnesite vrednost večje ali enako {0}.")
  31 +});
  32 +
  33 +}));
0 \ No newline at end of file 34 \ No newline at end of file
src/main/resources/static/real_control_v2/assets/plugins/jquery-validation/js/localization/messages_sl.min.js 0 → 100644
  1 +/*! jQuery Validation Plugin - v1.14.0 - 6/30/2015
  2 + * http://jqueryvalidation.org/
  3 + * Copyright (c) 2015 Jörn Zaefferer; Licensed MIT */
  4 +!function(a){"function"==typeof define&&define.amd?define(["jquery","../jquery.validate.min"],a):a(jQuery)}(function(a){a.extend(a.validator.messages,{required:"To polje je obvezno.",remote:"Prosimo popravite to polje.",email:"Prosimo vnesite veljaven email naslov.",url:"Prosimo vnesite veljaven URL naslov.",date:"Prosimo vnesite veljaven datum.",dateISO:"Prosimo vnesite veljaven ISO datum.",number:"Prosimo vnesite veljavno število.",digits:"Prosimo vnesite samo števila.",creditcard:"Prosimo vnesite veljavno številko kreditne kartice.",equalTo:"Prosimo ponovno vnesite vrednost.",extension:"Prosimo vnesite vrednost z veljavno končnico.",maxlength:a.validator.format("Prosimo vnesite največ {0} znakov."),minlength:a.validator.format("Prosimo vnesite najmanj {0} znakov."),rangelength:a.validator.format("Prosimo vnesite najmanj {0} in največ {1} znakov."),range:a.validator.format("Prosimo vnesite vrednost med {0} in {1}."),max:a.validator.format("Prosimo vnesite vrednost manjše ali enako {0}."),min:a.validator.format("Prosimo vnesite vrednost večje ali enako {0}.")})});
0 \ No newline at end of file 5 \ No newline at end of file
src/main/resources/static/real_control_v2/assets/plugins/jquery-validation/js/localization/messages_sr.js 0 → 100644
  1 +(function( factory ) {
  2 + if ( typeof define === "function" && define.amd ) {
  3 + define( ["jquery", "../jquery.validate"], factory );
  4 + } else {
  5 + factory( jQuery );
  6 + }
  7 +}(function( $ ) {
  8 +
  9 +/*
  10 + * Translated default messages for the jQuery validation plugin.
  11 + * Locale: SR (Serbian; српски језик)
  12 + */
  13 +$.extend($.validator.messages, {
  14 + required: "Поље је обавезно.",
  15 + remote: "Средите ово поље.",
  16 + email: "Унесите исправну и-мејл адресу.",
  17 + url: "Унесите исправан URL.",
  18 + date: "Унесите исправан датум.",
  19 + dateISO: "Унесите исправан датум (ISO).",
  20 + number: "Унесите исправан број.",
  21 + digits: "Унесите само цифе.",
  22 + creditcard: "Унесите исправан број кредитне картице.",
  23 + equalTo: "Унесите исту вредност поново.",
  24 + extension: "Унесите вредност са одговарајућом екстензијом.",
  25 + maxlength: $.validator.format("Унесите мање од {0} карактера."),
  26 + minlength: $.validator.format("Унесите барем {0} карактера."),
  27 + rangelength: $.validator.format("Унесите вредност дугачку између {0} и {1} карактера."),
  28 + range: $.validator.format("Унесите вредност између {0} и {1}."),
  29 + max: $.validator.format("Унесите вредност мању или једнаку {0}."),
  30 + min: $.validator.format("Унесите вредност већу или једнаку {0}.")
  31 +});
  32 +
  33 +}));
0 \ No newline at end of file 34 \ No newline at end of file
src/main/resources/static/real_control_v2/assets/plugins/jquery-validation/js/localization/messages_sr.min.js 0 → 100644
  1 +/*! jQuery Validation Plugin - v1.14.0 - 6/30/2015
  2 + * http://jqueryvalidation.org/
  3 + * Copyright (c) 2015 Jörn Zaefferer; Licensed MIT */
  4 +!function(a){"function"==typeof define&&define.amd?define(["jquery","../jquery.validate.min"],a):a(jQuery)}(function(a){a.extend(a.validator.messages,{required:"Поље је обавезно.",remote:"Средите ово поље.",email:"Унесите исправну и-мејл адресу.",url:"Унесите исправан URL.",date:"Унесите исправан датум.",dateISO:"Унесите исправан датум (ISO).",number:"Унесите исправан број.",digits:"Унесите само цифе.",creditcard:"Унесите исправан број кредитне картице.",equalTo:"Унесите исту вредност поново.",extension:"Унесите вредност са одговарајућом екстензијом.",maxlength:a.validator.format("Унесите мање од {0} карактера."),minlength:a.validator.format("Унесите барем {0} карактера."),rangelength:a.validator.format("Унесите вредност дугачку између {0} и {1} карактера."),range:a.validator.format("Унесите вредност између {0} и {1}."),max:a.validator.format("Унесите вредност мању или једнаку {0}."),min:a.validator.format("Унесите вредност већу или једнаку {0}.")})});
0 \ No newline at end of file 5 \ No newline at end of file
src/main/resources/static/real_control_v2/assets/plugins/jquery-validation/js/localization/messages_sr_lat.js 0 → 100644
  1 +(function( factory ) {
  2 + if ( typeof define === "function" && define.amd ) {
  3 + define( ["jquery", "../jquery.validate"], factory );
  4 + } else {
  5 + factory( jQuery );
  6 + }
  7 +}(function( $ ) {
  8 +
  9 +/*
  10 + * Translated default messages for the jQuery validation plugin.
  11 + * Locale: SR (Serbian - Latin alphabet; srpski jezik - latinica)
  12 + */
  13 +$.extend($.validator.messages, {
  14 + required: "Polje je obavezno.",
  15 + remote: "Sredite ovo polje.",
  16 + email: "Unesite ispravnu e-mail adresu",
  17 + url: "Unesite ispravan URL.",
  18 + date: "Unesite ispravan datum.",
  19 + dateISO: "Unesite ispravan datum (ISO).",
  20 + number: "Unesite ispravan broj.",
  21 + digits: "Unesite samo cifre.",
  22 + creditcard: "Unesite ispravan broj kreditne kartice.",
  23 + equalTo: "Unesite istu vrednost ponovo.",
  24 + extension: "Unesite vrednost sa odgovarajućom ekstenzijom.",
  25 + maxlength: $.validator.format("Unesite manje od {0} karaktera."),
  26 + minlength: $.validator.format("Unesite barem {0} karaktera."),
  27 + rangelength: $.validator.format("Unesite vrednost dugačku između {0} i {1} karaktera."),
  28 + range: $.validator.format("Unesite vrednost između {0} i {1}."),
  29 + max: $.validator.format("Unesite vrednost manju ili jednaku {0}."),
  30 + min: $.validator.format("Unesite vrednost veću ili jednaku {0}.")
  31 +});
  32 +
  33 +}));
0 \ No newline at end of file 34 \ No newline at end of file
src/main/resources/static/real_control_v2/assets/plugins/jquery-validation/js/localization/messages_sr_lat.min.js 0 → 100644
  1 +/*! jQuery Validation Plugin - v1.14.0 - 6/30/2015
  2 + * http://jqueryvalidation.org/
  3 + * Copyright (c) 2015 Jörn Zaefferer; Licensed MIT */
  4 +!function(a){"function"==typeof define&&define.amd?define(["jquery","../jquery.validate.min"],a):a(jQuery)}(function(a){a.extend(a.validator.messages,{required:"Polje je obavezno.",remote:"Sredite ovo polje.",email:"Unesite ispravnu e-mail adresu",url:"Unesite ispravan URL.",date:"Unesite ispravan datum.",dateISO:"Unesite ispravan datum (ISO).",number:"Unesite ispravan broj.",digits:"Unesite samo cifre.",creditcard:"Unesite ispravan broj kreditne kartice.",equalTo:"Unesite istu vrednost ponovo.",extension:"Unesite vrednost sa odgovarajućom ekstenzijom.",maxlength:a.validator.format("Unesite manje od {0} karaktera."),minlength:a.validator.format("Unesite barem {0} karaktera."),rangelength:a.validator.format("Unesite vrednost dugačku između {0} i {1} karaktera."),range:a.validator.format("Unesite vrednost između {0} i {1}."),max:a.validator.format("Unesite vrednost manju ili jednaku {0}."),min:a.validator.format("Unesite vrednost veću ili jednaku {0}.")})});
0 \ No newline at end of file 5 \ No newline at end of file
src/main/resources/static/real_control_v2/assets/plugins/jquery-validation/js/localization/messages_sv.js 0 → 100644
  1 +(function( factory ) {
  2 + if ( typeof define === "function" && define.amd ) {
  3 + define( ["jquery", "../jquery.validate"], factory );
  4 + } else {
  5 + factory( jQuery );
  6 + }
  7 +}(function( $ ) {
  8 +
  9 +/*
  10 + * Translated default messages for the jQuery validation plugin.
  11 + * Locale: SV (Swedish; Svenska)
  12 + */
  13 +$.extend($.validator.messages, {
  14 + required: "Detta f&auml;lt &auml;r obligatoriskt.",
  15 + maxlength: $.validator.format("Du f&aring;r ange h&ouml;gst {0} tecken."),
  16 + minlength: $.validator.format("Du m&aring;ste ange minst {0} tecken."),
  17 + rangelength: $.validator.format("Ange minst {0} och max {1} tecken."),
  18 + email: "Ange en korrekt e-postadress.",
  19 + url: "Ange en korrekt URL.",
  20 + date: "Ange ett korrekt datum.",
  21 + dateISO: "Ange ett korrekt datum (&Aring;&Aring;&Aring;&Aring;-MM-DD).",
  22 + number: "Ange ett korrekt nummer.",
  23 + digits: "Ange endast siffror.",
  24 + equalTo: "Ange samma v&auml;rde igen.",
  25 + range: $.validator.format("Ange ett v&auml;rde mellan {0} och {1}."),
  26 + max: $.validator.format("Ange ett v&auml;rde som &auml;r mindre eller lika med {0}."),
  27 + min: $.validator.format("Ange ett v&auml;rde som &auml;r st&ouml;rre eller lika med {0}."),
  28 + creditcard: "Ange ett korrekt kreditkortsnummer."
  29 +});
  30 +
  31 +}));
0 \ No newline at end of file 32 \ No newline at end of file
src/main/resources/static/real_control_v2/assets/plugins/jquery-validation/js/localization/messages_sv.min.js 0 → 100644
  1 +/*! jQuery Validation Plugin - v1.14.0 - 6/30/2015
  2 + * http://jqueryvalidation.org/
  3 + * Copyright (c) 2015 Jörn Zaefferer; Licensed MIT */
  4 +!function(a){"function"==typeof define&&define.amd?define(["jquery","../jquery.validate.min"],a):a(jQuery)}(function(a){a.extend(a.validator.messages,{required:"Detta f&auml;lt &auml;r obligatoriskt.",maxlength:a.validator.format("Du f&aring;r ange h&ouml;gst {0} tecken."),minlength:a.validator.format("Du m&aring;ste ange minst {0} tecken."),rangelength:a.validator.format("Ange minst {0} och max {1} tecken."),email:"Ange en korrekt e-postadress.",url:"Ange en korrekt URL.",date:"Ange ett korrekt datum.",dateISO:"Ange ett korrekt datum (&Aring;&Aring;&Aring;&Aring;-MM-DD).",number:"Ange ett korrekt nummer.",digits:"Ange endast siffror.",equalTo:"Ange samma v&auml;rde igen.",range:a.validator.format("Ange ett v&auml;rde mellan {0} och {1}."),max:a.validator.format("Ange ett v&auml;rde som &auml;r mindre eller lika med {0}."),min:a.validator.format("Ange ett v&auml;rde som &auml;r st&ouml;rre eller lika med {0}."),creditcard:"Ange ett korrekt kreditkortsnummer."})});
0 \ No newline at end of file 5 \ No newline at end of file
src/main/resources/static/real_control_v2/assets/plugins/jquery-validation/js/localization/messages_th.js 0 → 100644
  1 +(function( factory ) {
  2 + if ( typeof define === "function" && define.amd ) {
  3 + define( ["jquery", "../jquery.validate"], factory );
  4 + } else {
  5 + factory( jQuery );
  6 + }
  7 +}(function( $ ) {
  8 +
  9 +/*
  10 + * Translated default messages for the jQuery validation plugin.
  11 + * Locale: TH (Thai; ไทย)
  12 + */
  13 +$.extend($.validator.messages, {
  14 + required: "โปรดระบุ",
  15 + remote: "โปรดแก้ไขให้ถูกต้อง",
  16 + email: "โปรดระบุที่อยู่อีเมล์ที่ถูกต้อง",
  17 + url: "โปรดระบุ URL ที่ถูกต้อง",
  18 + date: "โปรดระบุวันที่ ที่ถูกต้อง",
  19 + dateISO: "โปรดระบุวันที่ ที่ถูกต้อง (ระบบ ISO).",
  20 + number: "โปรดระบุทศนิยมที่ถูกต้อง",
  21 + digits: "โปรดระบุจำนวนเต็มที่ถูกต้อง",
  22 + creditcard: "โปรดระบุรหัสบัตรเครดิตที่ถูกต้อง",
  23 + equalTo: "โปรดระบุค่าเดิมอีกครั้ง",
  24 + extension: "โปรดระบุค่าที่มีส่วนขยายที่ถูกต้อง",
  25 + maxlength: $.validator.format("โปรดอย่าระบุค่าที่ยาวกว่า {0} อักขระ"),
  26 + minlength: $.validator.format("โปรดอย่าระบุค่าที่สั้นกว่า {0} อักขระ"),
  27 + rangelength: $.validator.format("โปรดอย่าระบุค่าความยาวระหว่าง {0} ถึง {1} อักขระ"),
  28 + range: $.validator.format("โปรดระบุค่าระหว่าง {0} และ {1}"),
  29 + max: $.validator.format("โปรดระบุค่าน้อยกว่าหรือเท่ากับ {0}"),
  30 + min: $.validator.format("โปรดระบุค่ามากกว่าหรือเท่ากับ {0}")
  31 +});
  32 +
  33 +}));
0 \ No newline at end of file 34 \ No newline at end of file
src/main/resources/static/real_control_v2/assets/plugins/jquery-validation/js/localization/messages_th.min.js 0 → 100644
  1 +/*! jQuery Validation Plugin - v1.14.0 - 6/30/2015
  2 + * http://jqueryvalidation.org/
  3 + * Copyright (c) 2015 Jörn Zaefferer; Licensed MIT */
  4 +!function(a){"function"==typeof define&&define.amd?define(["jquery","../jquery.validate.min"],a):a(jQuery)}(function(a){a.extend(a.validator.messages,{required:"โปรดระบุ",remote:"โปรดแก้ไขให้ถูกต้อง",email:"โปรดระบุที่อยู่อีเมล์ที่ถูกต้อง",url:"โปรดระบุ URL ที่ถูกต้อง",date:"โปรดระบุวันที่ ที่ถูกต้อง",dateISO:"โปรดระบุวันที่ ที่ถูกต้อง (ระบบ ISO).",number:"โปรดระบุทศนิยมที่ถูกต้อง",digits:"โปรดระบุจำนวนเต็มที่ถูกต้อง",creditcard:"โปรดระบุรหัสบัตรเครดิตที่ถูกต้อง",equalTo:"โปรดระบุค่าเดิมอีกครั้ง",extension:"โปรดระบุค่าที่มีส่วนขยายที่ถูกต้อง",maxlength:a.validator.format("โปรดอย่าระบุค่าที่ยาวกว่า {0} อักขระ"),minlength:a.validator.format("โปรดอย่าระบุค่าที่สั้นกว่า {0} อักขระ"),rangelength:a.validator.format("โปรดอย่าระบุค่าความยาวระหว่าง {0} ถึง {1} อักขระ"),range:a.validator.format("โปรดระบุค่าระหว่าง {0} และ {1}"),max:a.validator.format("โปรดระบุค่าน้อยกว่าหรือเท่ากับ {0}"),min:a.validator.format("โปรดระบุค่ามากกว่าหรือเท่ากับ {0}")})});
0 \ No newline at end of file 5 \ No newline at end of file
src/main/resources/static/real_control_v2/assets/plugins/jquery-validation/js/localization/messages_tj.js 0 → 100644
  1 +(function( factory ) {
  2 + if ( typeof define === "function" && define.amd ) {
  3 + define( ["jquery", "../jquery.validate"], factory );
  4 + } else {
  5 + factory( jQuery );
  6 + }
  7 +}(function( $ ) {
  8 +
  9 +/*
  10 + * Translated default messages for the jQuery validation plugin.
  11 + * Locale: TJ (Tajikistan; Забони тоҷикӣ)
  12 + */
  13 +$.extend($.validator.messages, {
  14 + required: "Ворид кардани ин филд маҷбури аст.",
  15 + remote: "Илтимос, маълумоти саҳеҳ ворид кунед.",
  16 + email: "Илтимос, почтаи электронии саҳеҳ ворид кунед.",
  17 + url: "Илтимос, URL адреси саҳеҳ ворид кунед.",
  18 + date: "Илтимос, таърихи саҳеҳ ворид кунед.",
  19 + dateISO: "Илтимос, таърихи саҳеҳи (ISO)ӣ ворид кунед.",
  20 + number: "Илтимос, рақамҳои саҳеҳ ворид кунед.",
  21 + digits: "Илтимос, танҳо рақам ворид кунед.",
  22 + creditcard: "Илтимос, кредит карди саҳеҳ ворид кунед.",
  23 + equalTo: "Илтимос, миқдори баробар ворид кунед.",
  24 + extension: "Илтимос, қофияи файлро дуруст интихоб кунед",
  25 + maxlength: $.validator.format("Илтимос, бештар аз {0} рамз ворид накунед."),
  26 + minlength: $.validator.format("Илтимос, камтар аз {0} рамз ворид накунед."),
  27 + rangelength: $.validator.format("Илтимос, камтар аз {0} ва зиёда аз {1} рамз ворид кунед."),
  28 + range: $.validator.format("Илтимос, аз {0} то {1} рақам зиёд ворид кунед."),
  29 + max: $.validator.format("Илтимос, бештар аз {0} рақам ворид накунед."),
  30 + min: $.validator.format("Илтимос, камтар аз {0} рақам ворид накунед.")
  31 +});
  32 +
  33 +}));
0 \ No newline at end of file 34 \ No newline at end of file
src/main/resources/static/real_control_v2/assets/plugins/jquery-validation/js/localization/messages_tj.min.js 0 → 100644
  1 +/*! jQuery Validation Plugin - v1.14.0 - 6/30/2015
  2 + * http://jqueryvalidation.org/
  3 + * Copyright (c) 2015 Jörn Zaefferer; Licensed MIT */
  4 +!function(a){"function"==typeof define&&define.amd?define(["jquery","../jquery.validate.min"],a):a(jQuery)}(function(a){a.extend(a.validator.messages,{required:"Ворид кардани ин филд маҷбури аст.",remote:"Илтимос, маълумоти саҳеҳ ворид кунед.",email:"Илтимос, почтаи электронии саҳеҳ ворид кунед.",url:"Илтимос, URL адреси саҳеҳ ворид кунед.",date:"Илтимос, таърихи саҳеҳ ворид кунед.",dateISO:"Илтимос, таърихи саҳеҳи (ISO)ӣ ворид кунед.",number:"Илтимос, рақамҳои саҳеҳ ворид кунед.",digits:"Илтимос, танҳо рақам ворид кунед.",creditcard:"Илтимос, кредит карди саҳеҳ ворид кунед.",equalTo:"Илтимос, миқдори баробар ворид кунед.",extension:"Илтимос, қофияи файлро дуруст интихоб кунед",maxlength:a.validator.format("Илтимос, бештар аз {0} рамз ворид накунед."),minlength:a.validator.format("Илтимос, камтар аз {0} рамз ворид накунед."),rangelength:a.validator.format("Илтимос, камтар аз {0} ва зиёда аз {1} рамз ворид кунед."),range:a.validator.format("Илтимос, аз {0} то {1} рақам зиёд ворид кунед."),max:a.validator.format("Илтимос, бештар аз {0} рақам ворид накунед."),min:a.validator.format("Илтимос, камтар аз {0} рақам ворид накунед.")})});
0 \ No newline at end of file 5 \ No newline at end of file
src/main/resources/static/real_control_v2/assets/plugins/jquery-validation/js/localization/messages_tr.js 0 → 100644
  1 +(function( factory ) {
  2 + if ( typeof define === "function" && define.amd ) {
  3 + define( ["jquery", "../jquery.validate"], factory );
  4 + } else {
  5 + factory( jQuery );
  6 + }
  7 +}(function( $ ) {
  8 +
  9 +/*
  10 + * Translated default messages for the jQuery validation plugin.
  11 + * Locale: TR (Turkish; Türkçe)
  12 + */
  13 +$.extend($.validator.messages, {
  14 + required: "Bu alanın doldurulması zorunludur.",
  15 + remote: "Lütfen bu alanı düzeltin.",
  16 + email: "Lütfen geçerli bir e-posta adresi giriniz.",
  17 + url: "Lütfen geçerli bir web adresi (URL) giriniz.",
  18 + date: "Lütfen geçerli bir tarih giriniz.",
  19 + dateISO: "Lütfen geçerli bir tarih giriniz(ISO formatında)",
  20 + number: "Lütfen geçerli bir sayı giriniz.",
  21 + digits: "Lütfen sadece sayısal karakterler giriniz.",
  22 + creditcard: "Lütfen geçerli bir kredi kartı giriniz.",
  23 + equalTo: "Lütfen aynı değeri tekrar giriniz.",
  24 + extension: "Lütfen geçerli uzantıya sahip bir değer giriniz.",
  25 + maxlength: $.validator.format("Lütfen en fazla {0} karakter uzunluğunda bir değer giriniz."),
  26 + minlength: $.validator.format("Lütfen en az {0} karakter uzunluğunda bir değer giriniz."),
  27 + rangelength: $.validator.format("Lütfen en az {0} ve en fazla {1} uzunluğunda bir değer giriniz."),
  28 + range: $.validator.format("Lütfen {0} ile {1} arasında bir değer giriniz."),
  29 + max: $.validator.format("Lütfen {0} değerine eşit ya da daha küçük bir değer giriniz."),
  30 + min: $.validator.format("Lütfen {0} değerine eşit ya da daha büyük bir değer giriniz."),
  31 + require_from_group: "Lütfen bu alanların en az {0} tanesini doldurunuz."
  32 +});
  33 +
  34 +}));
0 \ No newline at end of file 35 \ No newline at end of file
src/main/resources/static/real_control_v2/assets/plugins/jquery-validation/js/localization/messages_tr.min.js 0 → 100644
  1 +/*! jQuery Validation Plugin - v1.14.0 - 6/30/2015
  2 + * http://jqueryvalidation.org/
  3 + * Copyright (c) 2015 Jörn Zaefferer; Licensed MIT */
  4 +!function(a){"function"==typeof define&&define.amd?define(["jquery","../jquery.validate.min"],a):a(jQuery)}(function(a){a.extend(a.validator.messages,{required:"Bu alanın doldurulması zorunludur.",remote:"Lütfen bu alanı düzeltin.",email:"Lütfen geçerli bir e-posta adresi giriniz.",url:"Lütfen geçerli bir web adresi (URL) giriniz.",date:"Lütfen geçerli bir tarih giriniz.",dateISO:"Lütfen geçerli bir tarih giriniz(ISO formatında)",number:"Lütfen geçerli bir sayı giriniz.",digits:"Lütfen sadece sayısal karakterler giriniz.",creditcard:"Lütfen geçerli bir kredi kartı giriniz.",equalTo:"Lütfen aynı değeri tekrar giriniz.",extension:"Lütfen geçerli uzantıya sahip bir değer giriniz.",maxlength:a.validator.format("Lütfen en fazla {0} karakter uzunluğunda bir değer giriniz."),minlength:a.validator.format("Lütfen en az {0} karakter uzunluğunda bir değer giriniz."),rangelength:a.validator.format("Lütfen en az {0} ve en fazla {1} uzunluğunda bir değer giriniz."),range:a.validator.format("Lütfen {0} ile {1} arasında bir değer giriniz."),max:a.validator.format("Lütfen {0} değerine eşit ya da daha küçük bir değer giriniz."),min:a.validator.format("Lütfen {0} değerine eşit ya da daha büyük bir değer giriniz."),require_from_group:"Lütfen bu alanların en az {0} tanesini doldurunuz."})});
0 \ No newline at end of file 5 \ No newline at end of file
src/main/resources/static/real_control_v2/assets/plugins/jquery-validation/js/localization/messages_uk.js 0 → 100644
  1 +(function( factory ) {
  2 + if ( typeof define === "function" && define.amd ) {
  3 + define( ["jquery", "../jquery.validate"], factory );
  4 + } else {
  5 + factory( jQuery );
  6 + }
  7 +}(function( $ ) {
  8 +
  9 +/*
  10 + * Translated default messages for the jQuery validation plugin.
  11 + * Locale: UK (Ukrainian; українська мова)
  12 + */
  13 +$.extend($.validator.messages, {
  14 + required: "Це поле необхідно заповнити.",
  15 + remote: "Будь ласка, введіть правильне значення.",
  16 + email: "Будь ласка, введіть коректну адресу електронної пошти.",
  17 + url: "Будь ласка, введіть коректний URL.",
  18 + date: "Будь ласка, введіть коректну дату.",
  19 + dateISO: "Будь ласка, введіть коректну дату у форматі ISO.",
  20 + number: "Будь ласка, введіть число.",
  21 + digits: "Вводите потрібно лише цифри.",
  22 + creditcard: "Будь ласка, введіть правильний номер кредитної карти.",
  23 + equalTo: "Будь ласка, введіть таке ж значення ще раз.",
  24 + extension: "Будь ласка, виберіть файл з правильним розширенням.",
  25 + maxlength: $.validator.format("Будь ласка, введіть не більше {0} символів."),
  26 + minlength: $.validator.format("Будь ласка, введіть не менше {0} символів."),
  27 + rangelength: $.validator.format("Будь ласка, введіть значення довжиною від {0} до {1} символів."),
  28 + range: $.validator.format("Будь ласка, введіть число від {0} до {1}."),
  29 + max: $.validator.format("Будь ласка, введіть число, менше або рівно {0}."),
  30 + min: $.validator.format("Будь ласка, введіть число, більше або рівно {0}.")
  31 +});
  32 +
  33 +}));
0 \ No newline at end of file 34 \ No newline at end of file
src/main/resources/static/real_control_v2/assets/plugins/jquery-validation/js/localization/messages_uk.min.js 0 → 100644
  1 +/*! jQuery Validation Plugin - v1.14.0 - 6/30/2015
  2 + * http://jqueryvalidation.org/
  3 + * Copyright (c) 2015 Jörn Zaefferer; Licensed MIT */
  4 +!function(a){"function"==typeof define&&define.amd?define(["jquery","../jquery.validate.min"],a):a(jQuery)}(function(a){a.extend(a.validator.messages,{required:"Це поле необхідно заповнити.",remote:"Будь ласка, введіть правильне значення.",email:"Будь ласка, введіть коректну адресу електронної пошти.",url:"Будь ласка, введіть коректний URL.",date:"Будь ласка, введіть коректну дату.",dateISO:"Будь ласка, введіть коректну дату у форматі ISO.",number:"Будь ласка, введіть число.",digits:"Вводите потрібно лише цифри.",creditcard:"Будь ласка, введіть правильний номер кредитної карти.",equalTo:"Будь ласка, введіть таке ж значення ще раз.",extension:"Будь ласка, виберіть файл з правильним розширенням.",maxlength:a.validator.format("Будь ласка, введіть не більше {0} символів."),minlength:a.validator.format("Будь ласка, введіть не менше {0} символів."),rangelength:a.validator.format("Будь ласка, введіть значення довжиною від {0} до {1} символів."),range:a.validator.format("Будь ласка, введіть число від {0} до {1}."),max:a.validator.format("Будь ласка, введіть число, менше або рівно {0}."),min:a.validator.format("Будь ласка, введіть число, більше або рівно {0}.")})});
0 \ No newline at end of file 5 \ No newline at end of file
src/main/resources/static/real_control_v2/assets/plugins/jquery-validation/js/localization/messages_vi.js 0 → 100644
  1 +(function( factory ) {
  2 + if ( typeof define === "function" && define.amd ) {
  3 + define( ["jquery", "../jquery.validate"], factory );
  4 + } else {
  5 + factory( jQuery );
  6 + }
  7 +}(function( $ ) {
  8 +
  9 +/*
  10 + * Translated default messages for the jQuery validation plugin.
  11 + * Locale: VI (Vietnamese; Tiếng Việt)
  12 + */
  13 +$.extend($.validator.messages, {
  14 + required: "Hãy nhập.",
  15 + remote: "Hãy sửa cho đúng.",
  16 + email: "Hãy nhập email.",
  17 + url: "Hãy nhập URL.",
  18 + date: "Hãy nhập ngày.",
  19 + dateISO: "Hãy nhập ngày (ISO).",
  20 + number: "Hãy nhập số.",
  21 + digits: "Hãy nhập chữ số.",
  22 + creditcard: "Hãy nhập số thẻ tín dụng.",
  23 + equalTo: "Hãy nhập thêm lần nữa.",
  24 + extension: "Phần mở rộng không đúng.",
  25 + maxlength: $.validator.format("Hãy nhập từ {0} kí tự trở xuống."),
  26 + minlength: $.validator.format("Hãy nhập từ {0} kí tự trở lên."),
  27 + rangelength: $.validator.format("Hãy nhập từ {0} đến {1} kí tự."),
  28 + range: $.validator.format("Hãy nhập từ {0} đến {1}."),
  29 + max: $.validator.format("Hãy nhập từ {0} trở xuống."),
  30 + min: $.validator.format("Hãy nhập từ {1} trở lên.")
  31 +});
  32 +
  33 +}));
0 \ No newline at end of file 34 \ No newline at end of file
src/main/resources/static/real_control_v2/assets/plugins/jquery-validation/js/localization/messages_vi.min.js 0 → 100644
  1 +/*! jQuery Validation Plugin - v1.14.0 - 6/30/2015
  2 + * http://jqueryvalidation.org/
  3 + * Copyright (c) 2015 Jörn Zaefferer; Licensed MIT */
  4 +!function(a){"function"==typeof define&&define.amd?define(["jquery","../jquery.validate.min"],a):a(jQuery)}(function(a){a.extend(a.validator.messages,{required:"Hãy nhập.",remote:"Hãy sửa cho đúng.",email:"Hãy nhập email.",url:"Hãy nhập URL.",date:"Hãy nhập ngày.",dateISO:"Hãy nhập ngày (ISO).",number:"Hãy nhập số.",digits:"Hãy nhập chữ số.",creditcard:"Hãy nhập số thẻ tín dụng.",equalTo:"Hãy nhập thêm lần nữa.",extension:"Phần mở rộng không đúng.",maxlength:a.validator.format("Hãy nhập từ {0} kí tự trở xuống."),minlength:a.validator.format("Hãy nhập từ {0} kí tự trở lên."),rangelength:a.validator.format("Hãy nhập từ {0} đến {1} kí tự."),range:a.validator.format("Hãy nhập từ {0} đến {1}."),max:a.validator.format("Hãy nhập từ {0} trở xuống."),min:a.validator.format("Hãy nhập từ {1} trở lên.")})});
0 \ No newline at end of file 5 \ No newline at end of file
src/main/resources/static/real_control_v2/assets/plugins/jquery-validation/js/localization/messages_zh.js 0 → 100644
  1 +(function( factory ) {
  2 + if ( typeof define === "function" && define.amd ) {
  3 + define( ["jquery", "../jquery.validate"], factory );
  4 + } else {
  5 + factory( jQuery );
  6 + }
  7 +}(function( $ ) {
  8 +
  9 +/*
  10 + * Translated default messages for the jQuery validation plugin.
  11 + * Locale: ZH (Chinese, 中文 (Zhōngwén), 汉语, 漢語)
  12 + */
  13 +$.extend($.validator.messages, {
  14 + required: "这是必填字段",
  15 + remote: "请修正此字段",
  16 + email: "请输入有效的电子邮件地址",
  17 + url: "请输入有效的网址",
  18 + date: "请输入有效的日期",
  19 + dateISO: "请输入有效的日期 (YYYY-MM-DD)",
  20 + number: "请输入有效的数字",
  21 + digits: "只能输入数字",
  22 + creditcard: "请输入有效的信用卡号码",
  23 + passwordRule: "请确保输入的值包含字母、数字、特殊符号",
  24 + equalTo: "你的输入不相同",
  25 + extension: "请输入有效的后缀",
  26 + maxlength: $.validator.format("最多可以输入 {0} 个字符"),
  27 + minlength: $.validator.format("最少要输入 {0} 个字符"),
  28 + rangelength: $.validator.format("请输入长度在 {0} 到 {1} 之间的字符串"),
  29 + range: $.validator.format("请输入范围在 {0} 到 {1} 之间的数值"),
  30 + max: $.validator.format("请输入不大于 {0} 的数值"),
  31 + min: $.validator.format("请输入不小于 {0} 的数值")
  32 +});
  33 +
  34 +}));
0 \ No newline at end of file 35 \ No newline at end of file
src/main/resources/static/real_control_v2/assets/plugins/jquery-validation/js/localization/messages_zh.min.js 0 → 100644
  1 +/*! jQuery Validation Plugin - v1.14.0 - 6/30/2015
  2 + * http://jqueryvalidation.org/
  3 + * Copyright (c) 2015 Jörn Zaefferer; Licensed MIT */
  4 +!function(a){"function"==typeof define&&define.amd?define(["jquery","../jquery.validate.min"],a):a(jQuery)}(function(a){a.extend(a.validator.messages,{required:"这是必填字段",remote:"请修正此字段",email:"请输入有效的电子邮件地址",url:"请输入有效的网址",date:"请输入有效的日期",dateISO:"请输入有效的日期 (YYYY-MM-DD)",number:"请输入有效的数字",digits:"只能输入数字",creditcard:"请输入有效的信用卡号码",equalTo:"你的输入不相同",extension:"请输入有效的后缀",maxlength:a.validator.format("最多可以输入 {0} 个字符"),minlength:a.validator.format("最少要输入 {0} 个字符"),rangelength:a.validator.format("请输入长度在 {0} 到 {1} 之间的字符串"),range:a.validator.format("请输入范围在 {0} 到 {1} 之间的数值"),max:a.validator.format("请输入不大于 {0} 的数值"),min:a.validator.format("请输入不小于 {0} 的数值")})});
0 \ No newline at end of file 5 \ No newline at end of file
src/main/resources/static/real_control_v2/assets/plugins/jquery-validation/js/localization/messages_zh_TW.js 0 → 100644
  1 +(function( factory ) {
  2 + if ( typeof define === "function" && define.amd ) {
  3 + define( ["jquery", "../jquery.validate"], factory );
  4 + } else {
  5 + factory( jQuery );
  6 + }
  7 +}(function( $ ) {
  8 +
  9 +/*
  10 + * Translated default messages for the jQuery validation plugin.
  11 + * Locale: ZH (Chinese; 中文 (Zhōngwén), 汉语, 漢語)
  12 + * Region: TW (Taiwan)
  13 + */
  14 +$.extend($.validator.messages, {
  15 + required: "必須填寫",
  16 + remote: "請修正此欄位",
  17 + email: "請輸入有效的電子郵件",
  18 + url: "請輸入有效的網址",
  19 + date: "請輸入有效的日期",
  20 + dateISO: "請輸入有效的日期 (YYYY-MM-DD)",
  21 + number: "請輸入正確的數值",
  22 + digits: "只可輸入數字",
  23 + creditcard: "請輸入有效的信用卡號碼",
  24 + equalTo: "請重複輸入一次",
  25 + extension: "請輸入有效的後綴",
  26 + maxlength: $.validator.format("最多 {0} 個字"),
  27 + minlength: $.validator.format("最少 {0} 個字"),
  28 + rangelength: $.validator.format("請輸入長度為 {0} 至 {1} 之間的字串"),
  29 + range: $.validator.format("請輸入 {0} 至 {1} 之間的數值"),
  30 + max: $.validator.format("請輸入不大於 {0} 的數值"),
  31 + min: $.validator.format("請輸入不小於 {0} 的數值")
  32 +});
  33 +
  34 +}));
0 \ No newline at end of file 35 \ No newline at end of file
src/main/resources/static/real_control_v2/assets/plugins/jquery-validation/js/localization/messages_zh_TW.min.js 0 → 100644
  1 +/*! jQuery Validation Plugin - v1.14.0 - 6/30/2015
  2 + * http://jqueryvalidation.org/
  3 + * Copyright (c) 2015 Jörn Zaefferer; Licensed MIT */
  4 +!function(a){"function"==typeof define&&define.amd?define(["jquery","../jquery.validate.min"],a):a(jQuery)}(function(a){a.extend(a.validator.messages,{required:"必須填寫",remote:"請修正此欄位",email:"請輸入有效的電子郵件",url:"請輸入有效的網址",date:"請輸入有效的日期",dateISO:"請輸入有效的日期 (YYYY-MM-DD)",number:"請輸入正確的數值",digits:"只可輸入數字",creditcard:"請輸入有效的信用卡號碼",equalTo:"請重複輸入一次",extension:"請輸入有效的後綴",maxlength:a.validator.format("最多 {0} 個字"),minlength:a.validator.format("最少 {0} 個字"),rangelength:a.validator.format("請輸入長度為 {0} 至 {1} 之間的字串"),range:a.validator.format("請輸入 {0} 至 {1} 之間的數值"),max:a.validator.format("請輸入不大於 {0} 的數值"),min:a.validator.format("請輸入不小於 {0} 的數值")})});
0 \ No newline at end of file 5 \ No newline at end of file
src/main/resources/static/real_control_v2/assets/plugins/jquery-validation/js/localization/methods_de.js 0 → 100644
  1 +(function( factory ) {
  2 + if ( typeof define === "function" && define.amd ) {
  3 + define( ["jquery", "../jquery.validate"], factory );
  4 + } else {
  5 + factory( jQuery );
  6 + }
  7 +}(function( $ ) {
  8 +
  9 +/*
  10 + * Localized default methods for the jQuery validation plugin.
  11 + * Locale: DE
  12 + */
  13 +$.extend($.validator.methods, {
  14 + date: function(value, element) {
  15 + return this.optional(element) || /^\d\d?\.\d\d?\.\d\d\d?\d?$/.test(value);
  16 + },
  17 + number: function(value, element) {
  18 + return this.optional(element) || /^-?(?:\d+|\d{1,3}(?:\.\d{3})+)(?:,\d+)?$/.test(value);
  19 + }
  20 +});
  21 +
  22 +}));
0 \ No newline at end of file 23 \ No newline at end of file
src/main/resources/static/real_control_v2/assets/plugins/jquery-validation/js/localization/methods_de.min.js 0 → 100644
  1 +/*! jQuery Validation Plugin - v1.14.0 - 6/30/2015
  2 + * http://jqueryvalidation.org/
  3 + * Copyright (c) 2015 Jörn Zaefferer; Licensed MIT */
  4 +!function(a){"function"==typeof define&&define.amd?define(["jquery","../jquery.validate.min"],a):a(jQuery)}(function(a){a.extend(a.validator.methods,{date:function(a,b){return this.optional(b)||/^\d\d?\.\d\d?\.\d\d\d?\d?$/.test(a)},number:function(a,b){return this.optional(b)||/^-?(?:\d+|\d{1,3}(?:\.\d{3})+)(?:,\d+)?$/.test(a)}})});
0 \ No newline at end of file 5 \ No newline at end of file
src/main/resources/static/real_control_v2/assets/plugins/jquery-validation/js/localization/methods_es_CL.js 0 → 100644
  1 +(function( factory ) {
  2 + if ( typeof define === "function" && define.amd ) {
  3 + define( ["jquery", "../jquery.validate"], factory );
  4 + } else {
  5 + factory( jQuery );
  6 + }
  7 +}(function( $ ) {
  8 +
  9 +/*
  10 + * Localized default methods for the jQuery validation plugin.
  11 + * Locale: ES_CL
  12 + */
  13 +$.extend($.validator.methods, {
  14 + date: function(value, element) {
  15 + return this.optional(element) || /^\d\d?\-\d\d?\-\d\d\d?\d?$/.test(value);
  16 + },
  17 + number: function(value, element) {
  18 + return this.optional(element) || /^-?(?:\d+|\d{1,3}(?:\.\d{3})+)(?:,\d+)?$/.test(value);
  19 + }
  20 +});
  21 +
  22 +}));
0 \ No newline at end of file 23 \ No newline at end of file
src/main/resources/static/real_control_v2/assets/plugins/jquery-validation/js/localization/methods_es_CL.min.js 0 → 100644
  1 +/*! jQuery Validation Plugin - v1.14.0 - 6/30/2015
  2 + * http://jqueryvalidation.org/
  3 + * Copyright (c) 2015 Jörn Zaefferer; Licensed MIT */
  4 +!function(a){"function"==typeof define&&define.amd?define(["jquery","../jquery.validate.min"],a):a(jQuery)}(function(a){a.extend(a.validator.methods,{date:function(a,b){return this.optional(b)||/^\d\d?\-\d\d?\-\d\d\d?\d?$/.test(a)},number:function(a,b){return this.optional(b)||/^-?(?:\d+|\d{1,3}(?:\.\d{3})+)(?:,\d+)?$/.test(a)}})});
0 \ No newline at end of file 5 \ No newline at end of file
src/main/resources/static/real_control_v2/assets/plugins/jquery-validation/js/localization/methods_fi.js 0 → 100644
  1 +(function( factory ) {
  2 + if ( typeof define === "function" && define.amd ) {
  3 + define( ["jquery", "../jquery.validate"], factory );
  4 + } else {
  5 + factory( jQuery );
  6 + }
  7 +}(function( $ ) {
  8 +
  9 +/*
  10 + * Localized default methods for the jQuery validation plugin.
  11 + * Locale: FI
  12 + */
  13 +$.extend($.validator.methods, {
  14 + date: function(value, element) {
  15 + return this.optional(element) || /^\d{1,2}\.\d{1,2}\.\d{4}$/.test(value);
  16 + },
  17 + number: function(value, element) {
  18 + return this.optional(element) || /^-?(?:\d+)(?:,\d+)?$/.test(value);
  19 + }
  20 +});
  21 +
  22 +}));
0 \ No newline at end of file 23 \ No newline at end of file
src/main/resources/static/real_control_v2/assets/plugins/jquery-validation/js/localization/methods_fi.min.js 0 → 100644
  1 +/*! jQuery Validation Plugin - v1.14.0 - 6/30/2015
  2 + * http://jqueryvalidation.org/
  3 + * Copyright (c) 2015 Jörn Zaefferer; Licensed MIT */
  4 +!function(a){"function"==typeof define&&define.amd?define(["jquery","../jquery.validate.min"],a):a(jQuery)}(function(a){a.extend(a.validator.methods,{date:function(a,b){return this.optional(b)||/^\d{1,2}\.\d{1,2}\.\d{4}$/.test(a)},number:function(a,b){return this.optional(b)||/^-?(?:\d+)(?:,\d+)?$/.test(a)}})});
0 \ No newline at end of file 5 \ No newline at end of file
src/main/resources/static/real_control_v2/assets/plugins/jquery-validation/js/localization/methods_nl.js 0 → 100644
  1 +(function( factory ) {
  2 + if ( typeof define === "function" && define.amd ) {
  3 + define( ["jquery", "../jquery.validate"], factory );
  4 + } else {
  5 + factory( jQuery );
  6 + }
  7 +}(function( $ ) {
  8 +
  9 +/*
  10 + * Localized default methods for the jQuery validation plugin.
  11 + * Locale: NL
  12 + */
  13 +$.extend($.validator.methods, {
  14 + date: function(value, element) {
  15 + return this.optional(element) || /^\d\d?[\.\/\-]\d\d?[\.\/\-]\d\d\d?\d?$/.test(value);
  16 + }
  17 +});
  18 +
  19 +}));
0 \ No newline at end of file 20 \ No newline at end of file
src/main/resources/static/real_control_v2/assets/plugins/jquery-validation/js/localization/methods_nl.min.js 0 → 100644
  1 +/*! jQuery Validation Plugin - v1.14.0 - 6/30/2015
  2 + * http://jqueryvalidation.org/
  3 + * Copyright (c) 2015 Jörn Zaefferer; Licensed MIT */
  4 +!function(a){"function"==typeof define&&define.amd?define(["jquery","../jquery.validate.min"],a):a(jQuery)}(function(a){a.extend(a.validator.methods,{date:function(a,b){return this.optional(b)||/^\d\d?[\.\/\-]\d\d?[\.\/\-]\d\d\d?\d?$/.test(a)}})});
0 \ No newline at end of file 5 \ No newline at end of file
src/main/resources/static/real_control_v2/assets/plugins/jquery-validation/js/localization/methods_pt.js 0 → 100644
  1 +(function( factory ) {
  2 + if ( typeof define === "function" && define.amd ) {
  3 + define( ["jquery", "../jquery.validate"], factory );
  4 + } else {
  5 + factory( jQuery );
  6 + }
  7 +}(function( $ ) {
  8 +
  9 +/*
  10 + * Localized default methods for the jQuery validation plugin.
  11 + * Locale: PT_BR
  12 + */
  13 +$.extend($.validator.methods, {
  14 + date: function(value, element) {
  15 + return this.optional(element) || /^\d\d?\/\d\d?\/\d\d\d?\d?$/.test(value);
  16 + }
  17 +});
  18 +
  19 +}));
0 \ No newline at end of file 20 \ No newline at end of file
src/main/resources/static/real_control_v2/assets/plugins/jquery-validation/js/localization/methods_pt.min.js 0 → 100644
  1 +/*! jQuery Validation Plugin - v1.14.0 - 6/30/2015
  2 + * http://jqueryvalidation.org/
  3 + * Copyright (c) 2015 Jörn Zaefferer; Licensed MIT */
  4 +!function(a){"function"==typeof define&&define.amd?define(["jquery","../jquery.validate.min"],a):a(jQuery)}(function(a){a.extend(a.validator.methods,{date:function(a,b){return this.optional(b)||/^\d\d?\/\d\d?\/\d\d\d?\d?$/.test(a)}})});
0 \ No newline at end of file 5 \ No newline at end of file
src/main/resources/static/real_control_v2/fragments/north/nav/signal_state_config.html
@@ -9,7 +9,7 @@ @@ -9,7 +9,7 @@
9 <i class="uk-icon-question-circle"> </i> 9 <i class="uk-icon-question-circle"> </i>
10 设置项将会保存在本地客户端,清理缓存和更换电脑会重置.</small> 10 设置项将会保存在本地客户端,清理缓存和更换电脑会重置.</small>
11 </p> 11 </p>
12 - <form class="uk-form uk-form-horizontal"> 12 + <form class="uk-form uk-form-horizontal" id="dfsjfrom">
13 <div class="uk-grid"> 13 <div class="uk-grid">
14 <div class="uk-width-2-3 uk-container-center"> 14 <div class="uk-width-2-3 uk-container-center">
15 <div class="uk-form-row"> 15 <div class="uk-form-row">
@@ -19,7 +19,13 @@ @@ -19,7 +19,13 @@
19 <option value="1">启用</option> 19 <option value="1">启用</option>
20 <option value="0">禁用</option> 20 <option value="0">禁用</option>
21 </select> 21 </select>
  22 +<!-- <hr/>-->
22 </div> 23 </div>
  24 +
  25 + <!--<label class="uk-form-label">待发预留时间(分)</label>
  26 + <div class="uk-form-controls">
  27 + <input type="text" name="dfsj" id ="dfsj" placeholder="请输入1~60(分钟)">
  28 + </div>-->
23 </div> 29 </div>
24 </div> 30 </div>
25 </div> 31 </div>
@@ -33,6 +39,15 @@ @@ -33,6 +39,15 @@
33 39
34 <script> 40 <script>
35 (function() { 41 (function() {
  42 +
  43 + /* $.ajax({
  44 + type: 'post',
  45 + url: '/realSchedule/outgoAdjusttwoxc',
  46 + success: function (sj) {
  47 + $("#dfsj").val(sj);
  48 + }
  49 + })
  50 + */
36 var modal = '#signal_state_config-modal'; 51 var modal = '#signal_state_config-modal';
37 var f = $('form', modal); 52 var f = $('form', modal);
38 53
@@ -43,6 +58,39 @@ @@ -43,6 +58,39 @@
43 }); 58 });
44 59
45 f.formValidation(gb_form_validation_opts); 60 f.formValidation(gb_form_validation_opts);
  61 +
  62 +/*
  63 + // 获取表单元素
  64 + var form = $('#dfsjfrom');
  65 + // 定义表单异常
  66 + var error = $('.alert-danger',form);
  67 + // 定义表单成功
  68 + var success = $('.alert-success',form);
  69 + // 表单验证
  70 + form.validate({
  71 + // 错误提示元素span对象
  72 + errorElement: 'span',
  73 + // 错误提示元素class名称
  74 + errorClass: 'help-block help-block-error',
  75 + // 需要验证的表单元素
  76 + rules: {
  77 + // 公司名称编码
  78 + 'dfsj': {
  79 + // 必填项
  80 + required: true,
  81 + // 必须输入合法的数字(负数,小数)。
  82 + number: true,
  83 + // 必须输入整数。
  84 + digits: true,
  85 + // 最大长度
  86 + maxlength: 2,
  87 + max : 60,
  88 + min : 0,
  89 +
  90 + },
  91 + },
  92 + });*/
  93 +
46 f.on('success.form.fv', function(e) { 94 f.on('success.form.fv', function(e) {
47 e.preventDefault(); 95 e.preventDefault();
48 var data = $(this).serializeJSON(); 96 var data = $(this).serializeJSON();
@@ -52,9 +100,33 @@ @@ -52,9 +100,33 @@
52 else 100 else
53 gb_signal_state.disable(); 101 gb_signal_state.disable();
54 102
  103 + /* data.dfsj = isnum(data.dfsj);
  104 + if(data.dfsj != null && data.dfsj != "") {
  105 + if (data.dfsj >= 0 && data.dfsj < 60) {
  106 + $.ajax({
  107 + type: 'post',
  108 + url: '/realSchedule/outgoAdjusttwodfsj',
  109 + data: {dfsj: data.dfsj},
  110 + success: function (sj) {
  111 + if (sj >= 0 && sj < 60) {
  112 + notify_succ('操作成功...');
  113 + }
  114 + }
  115 + });
  116 + UIkit.modal(modal).hide();
  117 + }
  118 + }*/
55 UIkit.modal(modal).hide(); 119 UIkit.modal(modal).hide();
56 }); 120 });
57 -  
58 })(); 121 })();
  122 + //验证输入的是否是数字
  123 + function isnum(dfsj) {
  124 + var val = parseInt(dfsj);
  125 + if(!isNaN(val)){
  126 + return val;
  127 + }else {
  128 + return null;
  129 + }
  130 + }
59 </script> 131 </script>
60 </div> 132 </div>
61 \ No newline at end of file 133 \ No newline at end of file
src/main/resources/static/real_control_v2/js/line_schedule/context_menu.js
@@ -47,9 +47,23 @@ var gb_schedule_context_menu = (function () { @@ -47,9 +47,23 @@ var gb_schedule_context_menu = (function () {
47 notify_err((sch.status==1?'已发出':'已执行') + '的班次不能修改待发'); 47 notify_err((sch.status==1?'已发出':'已执行') + '的班次不能修改待发');
48 return; 48 return;
49 } 49 }
50 - open_modal(folder + '/dftz.html', {  
51 - sch: sch  
52 - }, modal_opts); 50 + $.ajax({
  51 + type: 'post',
  52 + url: '/realSchedule/outgoAdjusttwo',
  53 + async:false,
  54 + data: {dfsj: sch.dfsjT},
  55 + success: function (rs) {
  56 + if(rs.flag && rs.flag==4009){
  57 + notify_err('已超出待发时间不能修改待发');
  58 + gb_schedule_table.updateSchedule(rs.t);
  59 + return;
  60 + }else {
  61 + open_modal(folder + '/dftz.html', {
  62 + sch: sch
  63 + }, modal_opts);
  64 + }
  65 + }
  66 + });
53 }, 67 },
54 multi_tzrc: function (schArray) { 68 multi_tzrc: function (schArray) {
55 open_modal(folder + '/multi_tzrc.html', { 69 open_modal(folder + '/multi_tzrc.html', {
src/main/resources/static/real_control_v2/js/line_schedule/dbclick.js
@@ -26,6 +26,11 @@ var gb_schedule_table_dbclick = (function() { @@ -26,6 +26,11 @@ var gb_schedule_table_dbclick = (function() {
26 gb_schedule_table.updateSchedule(rs.t); 26 gb_schedule_table.updateSchedule(rs.t);
27 return; 27 return;
28 } 28 }
  29 + if(rs.flag && rs.flag==4009){
  30 + notify_err('已超出待发时间不能调整待发');
  31 + gb_schedule_table.updateSchedule(rs.t);
  32 + return;
  33 + }
29 gb_schedule_table.updateSchedule(rs.ts); 34 gb_schedule_table.updateSchedule(rs.ts);
30 notify_succ('待发调整成功!'); 35 notify_succ('待发调整成功!');
31 //重新计算应发未发 36 //重新计算应发未发
src/main/resources/static/real_control_v2/main.html
@@ -165,6 +165,11 @@ @@ -165,6 +165,11 @@
165 <script src="/real_control_v2/assets/plugins/formvalidation/formValidation.min.js" merge="plugins"></script> 165 <script src="/real_control_v2/assets/plugins/formvalidation/formValidation.min.js" merge="plugins"></script>
166 <script src="/real_control_v2/assets/plugins/formvalidation/zh_CN.js" merge="plugins"></script> 166 <script src="/real_control_v2/assets/plugins/formvalidation/zh_CN.js" merge="plugins"></script>
167 <script src="/real_control_v2/assets/plugins/formvalidation/uikit.min.js" merge="plugins"></script> 167 <script src="/real_control_v2/assets/plugins/formvalidation/uikit.min.js" merge="plugins"></script>
  168 +
  169 +<!-- jquery-validation- -->
  170 +<script src="/real_control_v2/assets/plugins/jquery-validation/js/jquery.validate.min.js" merge="plugins"></script>
  171 +<script src="/real_control_v2/assets/plugins/jquery-validation/js/localization/messages_zh.js" merge="plugins"></script>
  172 +
168 <!-- js tree --> 173 <!-- js tree -->
169 <script src="/real_control_v2/assets/plugins/jstree/jstree.min.js" merge="plugins"></script> 174 <script src="/real_control_v2/assets/plugins/jstree/jstree.min.js" merge="plugins"></script>
170 <!-- simple pinyin --> 175 <!-- simple pinyin -->