1(function($){ 2 //#3260 matuuchi 3 var device = $("#params").data("device"); 4 5 //#3093 matuuchi Webã¢ã¯ã»ã·ããã£å¯¾å¿ 6 var webac_flg = ($("#params").data("webac") !== "undefined") ? parseInt($("#params").data("webac"),10) : false; 7 8 9 $.fn.dsFormValidator = function(config){ 10 11 var defaults = { 12 13 text_rules : {}, 14 datetime_rules : {}, 15 closest_class : "" 16 } 17 18 var options = $.extend(defaults, config); 19 20 var DDTVClass = new DsDateTimeValidator(options); 21 22 return this.each(function(i){ 23 24 var $form = $(this); 25 26 if(typeof $.validator.defaults.ds_text_rules === "undefined") { 27 28 $.validator.setDefaults({ 29 30 ds_text_rules : options.text_rules, 31 ds_datetime_rules : options.datetime_rules, 32 ds_closest_class : options.closest_class, 33 errorClass : "a-valid-msg", 34 errorElement : "span", 35 ignore : ".ignore", 36 highlight : function(element, errorClass, validClass) { 37 $(element).closest("." + $.validator.defaults.ds_closest_class).addClass("valid-error"); 38 39 //#3260 matuuchi 40 setTimeout(function(){ 41 $(element).filter("[data-rule-dstext='email2']").closest(".form-item").addClass("valid-error"); 42 }, 100); 43 }, 44 unhighlight: function(element, errorClass, validClass) { 45 46 $(element).closest("." + $.validator.defaults.ds_closest_class).removeClass("valid-error"); 47 }, 48 /* #2773 matuuchi */ 49 showErrors : function(element, errorClass, validClass) { 50 51 this.defaultShowErrors(); 52 53 $(this.toShow).each(function(){ 54 $_this = $(this); 55 var top = $_this.position().top - 7; 56 $_this.css("top",top + "px"); 57 }); 58 59 //#3093 matuuchi WEBAC 60 if($form.hasClass("form-submit")){ 61 $form.find(".valid-item-msg").remove(); 62 } 63 64 //#3260 matuuchi 65 for ( i = 0; errorClass[i]; i++ ) { 66 var error = this.errorList[i]; 67 68 if($("span.a-valid-msg[for='"+error.element.id+"']").length || $("span.a-valid-msg[for='"+error.element.name+"']").length){ 69 var $tip = ($("span.a-valid-msg[for='"+error.element.id+"']").length) ? $("span.a-valid-msg[for='"+error.element.id+"']") : $("span.a-valid-msg[for='"+error.element.name+"']"); 70 if(error.method == "required" || error.method == "dsdatetime"){ 71 $tip.hide(); 72 }else{ 73 $tip.show(); 74 } 75 } 76 77 //#3093 matuuchi WEBAC 78 if($form.hasClass("form-submit")){ 79 80 var $itemTip = $("<div class='valid-item-msg "+ error.method +"'></div>"); 81 //var $itemTip = $("<div class='valid-item-msg'>"+error.message+"</div>"); 82 83 //var msg = ""; 84 if((error.method == "required" || error.method == "dsdatetime") && $("#bg").hasClass("lang-ja")){ 85 $itemTip.append(error.message + "é ç®ãå ¥åããã¦ãã¾ãã"); 86 87 }else{ 88 if(error.method == "equalTo" && $(error.element).closest(".cell2").find(".valid-item-msg.dstext").length){ 89 continue; 90 } 91 $itemTip.append(error.message); 92 } 93 94 if($(error.element).length){ 95 //$itemTip. 96 $(error.element).before($itemTip); 97 } 98 } 99 } 100 } 101 102 }); 103 104 $.validator.addMethod("dstext", function(value, element, param) { 105 106 var ds_text_rules = $.validator.defaults.ds_text_rules; 107 var rule = ds_text_rules[param]; 108 109 var regex_flg =value.match(rule["regex"]); 110 111 if(!regex_flg) { 112 113 $.validator.messages["dstext"] = rule["msg"]; 114 115 } 116 117 return this.optional(element) || regex_flg; 118 119 }, "error..."); 120 121 DDTVClass.validatorAddMethod(); 122 123 } 124 125 $form.find("." + $.validator.defaults.ds_closest_class).each(function () { 126 127 var $closest = $(this); 128 129 var $checkboxs = $closest.find("input[type='checkbox']"); 130 131 if($checkboxs.length) { 132 133 var class_ary = $checkboxs.eq(0).attr("class").split(" "); 134 135 for(var i=0, max = class_ary.length; i < max; i++) { 136 137 if(class_ary[i].match(/^ds-check-required[0-9]+$/) !== null) { 138 139 $.validator.addClassRules(class_ary[i], { 140 141 required : true 142 143 }); 144 145 } 146 147 } 148 149 } 150 151 var $datetimes = $closest.find("select.ds-datetime"); 152 153 if($datetimes.length) { 154 155 var $dt_valid = $closest.find(".ds-datetime-valid").eq(0); 156 157 $datetimes.on("change", function () { 158 159 var dval = DDTVClass.htmlToString($(this)); 160 161 $dt_valid.val(dval).trigger("focusout"); 162 163 }).eq(0).trigger("change"); 164 165 } 166 167 }); 168 169 //submitã»ï½½ã»ï½½ã»ï½½ã»ï½½ã»ï½½ï¾ãソスã»ï½½ã»ï½½ï¾ãソス 170 $form.valid(); 171 //$form.validate(); 172 173 174 //#3093 matuuchi WEBã¢ã¯ã»ã·ããã£å¯¾å¿ 175 if(webac_flg){ 176 $form.submit(function(){ 177 178 $form.addClass("form-submit"); 179 //$form.find(".valid-item-msg").remove(); 180 181 if($form.find(".valid-error").length){ 182 183 //ã¨ã©ã¼è¡¨ç¤º 184 var $formErrMsg = $form.find(".form-err-msg.webac-msg").eq(0); 185 if($formErrMsg.length){ 186 $formErrMsg.show().focus(); 187 } 188 $form.valid(); 189 } 190 191 setTimeout(function(){ 192 $form.removeClass("form-submit"); 193 },500); 194 }); 195 } 196 }); 197 }; 198 199})(jQuery);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.