통합 프론트 검증 프레임 워 크

34312 단어 프레임
1: 다운로드 주소
         http://www.17sucai.com/pins/312.html
2: 프로젝트 에 가입
        Validform. js 와 그림 을 프로젝트 디 렉 터 리 에 추가 해 야 합 니 다.
3: jsp 페이지 가입
     가 져 온 가방: (제출 할 때 모든 폼 을 검증 합 니 다. submit 가 없 으 면 btnSubmit 를 사용 합 니 다)
<script type="text/javascript" 
src="resources/tableValidation/tableValid.js"></script>    //    js
<script type="text/javascript"> 
$(function() { 
$(".aa:last").Validform({        //   “aa”    ,aa   from  ,       action
tiptype : 2,                     //           
btnSubmit:"#btn_sub",            //       from,  button,       id   
callback : function(data) { 
if (data.status == "y") { 
setTimeout(function() { 
$.Hidemsg(); 
}, 2000); 
} 
} 
}); 
}) 
</script> 
<style type="text/css"> 
@import "${projectPath}/resources/tableValidation/valid.css";      //  css
</style>

 
    폼 항목 에 컨트롤 을 추가 해 야 합 니 다 (ignore = "ignore" 빈 값 검사 가 실 효 됩 니 다)
<tr>
	<td>    :</td>
	<td><s:input path="channelname" class="form-control"
			placeholder="    rcms   "
                       datatype="channelname"                 //     ,         , nullmsg   
			nullmsg="       "                 //       
                       errormsg="  rcms   " />                //      
        <c:out  value="${channelnameerror}"></c:out>
	</td>
	<td><div class="Validform_checktip">       </div>    //        
	</td>
</tr>

  4: 플러그 인 이 수 요 를 만족 시 키 지 못 하기 때문에 datatype 을 'channelname' 으로 하 는 인증 (부분) 을 스스로 추가 해 야 합 니 다.
$.fn.Validform.sn={
		defaults:{
			tiptype:1,
            ajaxPost:false
		},
		
		regcheck:function(type,gets){
            var reg;
			switch(type){
			    case "*":
				    return true;
				case "positiveinteger": /*     */
					reg= /^[0-9]*[1-9][0-9]*$/;
					return reg.test(gets);
				case "channelname": /*      */
					reg1= /^[a-z0-9][a-z0-9]*:\/\/[a-z0-9][-a-z0-9_]*(\.[a-z0-9][-_a-z0-9]*){1,}$/;
					reg2= /^[a-z0-9][a-z0-9]*:\/\/[*]\.[a-z0-9][-a-z0-9]*(\.[a-z0-9][-a-z0-9]*){1,}$/;
					return reg1.test(gets)||reg2.test(gets);
				default:
					return false;
			}
		},

 5: 특수 해 야 한다 면 checkform: function (obj, parentobj, tiptype, show) 을 다시 써 야 합 니 다. (예 를 들 어 첫 번 째 텍스트 상자 의 값 이 두 번 째 보다 크다 고 판단 해 야 합 니 다)
     jsp 의 내용
<tr>
	<td>    :</td>
	<td><s:input path="uplimit" class="form-control"
			placeholder="  (MB)" datatype="positiveinteger" nullmsg="       "
			errormsg="      " /></td>
	<td><div class="Validform_checktip">      </div>
	</td>
</tr>
<tr>
	<td>    :</td>
	<td><s:input path="downlimit" class="form-control"
			placeholder="  (MB)" 
                       datatype="*"                   //     *,js     true
                       greaterthan="uplimit"          //greaterthan        ,          id
		        nullmsg="       "
                       errormsg="      ,     " />
	</td>
	<td><div class="Validform_checktip">      </div>
	</td>
</tr>

   Validform. js 의 checkform: function 에 추가
 
if(obj.attr("greaterthan")){
				var theother=parentobj.find("input[name="+obj.attr("greaterthan")+"]:first");
				var reg= /^[0-9]*[1-9][0-9]*$/;
				if(obj.val()>=theother.val()||!reg.test(obj.val())){
					errorobj=obj;
					this.showmsg(errormsg,tiptype,{obj:obj},show);
					return false;
				}
			}

 
전체 코드
   tableValid.js
/*
	        
	Validform version 2.0
	For more information, you can visit http://www.rjboy.cn
	By sean at April 7, 2010 - April 22, 2011
	
	Demo:
	$(".demoform").Validform({//$(".demoform")           ,     from   ;
		btnSubmit:"#btn_sub", //#btn_sub                   ;  form   submit        ;
		tiptype:1, //    1=>pop box,2=>side tip,   1;
		postonce:true, //                   ,true  ,       ;
		ajaxPost:true, //  ajax        ,  false,      action    ;
		callback:function(data){
			//    data json  ,{"info":"demo info","status":"y"}
			//info:       ;
			//status:          ,      。    "y"      ,"n"      , ajax_post.php           ,    callback                ;
			//     ajax_post.php             ,      ;
			
			//        ;
		}
	});
*/

(function($){
	var errorobj=null,//              ;
		msgobj,// pop box object
		msghidden=true, // msgbox hidden?
		tipmsg={//       ;
			w:"       !",
			r:"      !",
			c:"      …",
			s:"     !",
			v:"          ,   …",
			p:"      …"
		},
		creatMsgbox=function(){
			if($("#Validform_msg").length!==0){return false;}
			msgobj=$('<div id="Validform_msg"><div class="Validform_title">    <a class="Validform_close" href="javascript:void(0);">&chi;</a></div><div class="Validform_info"></div><div class="iframe"><iframe frameborder="0" scrolling="no" height="100%" width="100%"></iframe></div></div>').appendTo("body");//      ;
			msgobj.find("a.Validform_close").click(function(){
				msgobj.hide();
				msghidden=true;
				if(errorobj){
					errorobj.focus().addClass("Validform_error");
				}
				return false;
			}).focus(function(){this.blur();});

			$(window).bind("scroll resize",function(){
				if(!msghidden){				  
					var left=($(window).width()-msgobj.width())/2;
					var top=($(window).height()-msgobj.height())/2;
					var topTo=(document.documentElement.scrollTop?document.documentElement.scrollTop:document.body.scrollTop)+(top>0?top:0);
					msgobj.animate({
						left : left,
						top : topTo
					},{ duration:400 , queue:false });
				}
			});
		};
	
	$.fn.Validform=function(settings){
		var defaults={};
		settings=$.extend({},$.fn.Validform.sn.defaults,settings);
		
		this.each(function(){
			var $this=$(this);
			var posting=false; //             ;
			$this.find("[tip]").each(function(){// tip            ,        ;
				var defaultvalue=$(this).attr("tip");
				var altercss=$(this).attr("altercss");
				$(this).focus(function(){
					if($(this).val()==defaultvalue){
						$(this).val('');
						if(altercss){$(this).removeClass(altercss);}
					}
				}).blur(function(){
					if($.trim($(this).val())===''){
						$(this).val(defaultvalue);
						if(altercss){$(this).addClass(altercss);}
					}
				});
			});
			
			//   blur  ;
			$this.find("[datatype]").blur(function(){
				var flag=true;
				flag=$.fn.Validform.sn.checkform($(this),$this,settings.tiptype,"hide");

				if(!flag){return false;}
				if(typeof(flag)!="boolean"){//    radio, checkbox,
											// select           ;
					$(this).removeClass("Validform_error");
					return false;
				}
										
				flag=$.fn.Validform.sn.regcheck($(this).attr("datatype"),$(this).val());
				if(!flag){
					if($(this).attr("ignore")==="ignore" && ( $(this).val()==="" || $(this).val()===$(this).attr("tip") )){
						if(settings.tiptype==2){
							$(this).parent().next().find(".Validform_checktip").removeClass().addClass("Validform_checktip").text($(this).attr("tip"));
						}
						flag=true;
						return true;
					}
					errorobj=$(this);
					$.fn.Validform.sn.showmsg($(this).attr("errormsg")||tipmsg.w,settings.tiptype,{obj:$(this)},"hide"); //  tiptype=1    ,  "hide"        ,tiptype=2        “hide”    ;
				}else{
					if($(this).attr("ajaxurl")){
						var inputobj=$(this);
						inputobj.attr("valid",tipmsg.c);
						$.fn.Validform.sn.showmsg(tipmsg.c,settings.tiptype,{obj:inputobj,type:1},"hide");
						$.ajax({
							type: "POST",
							url: inputobj.attr("ajaxurl"),
							data: "param="+$(this).val(),
							dataType: "Json",
							success: function(data){
								if(data.Data=="success"){
									inputobj.attr("valid","true");
									$.fn.Validform.sn.showmsg(tipmsg.r,settings.tiptype,{obj:inputobj,type:2},"hide");
								}else{
									inputobj.attr("valid",data.Message);
									errorobj=inputobj;
									$.fn.Validform.sn.showmsg(data.Message,settings.tiptype,{obj:inputobj});
								}
							}
						});
					}else{
						errorobj=null;
						$.fn.Validform.sn.showmsg(tipmsg.r,settings.tiptype,{obj:$(this),type:2},"hide");
					}
				}
				
			});
			
			// subform
			var subform=function(){
				var flag=true;
				if(posting){return false;}
				
				$this.find("[datatype]").each(function(){
					flag=$.fn.Validform.sn.checkform($(this),$this,settings.tiptype);

					if(!flag){
						errorobj.focus();
						return false;
					}
					
					if(typeof(flag)!="boolean"){
						flag=true;
						return true;
					}
					
					flag=$.fn.Validform.sn.regcheck($(this).attr("datatype"),$(this).val());
					
					if(!flag){
						if($(this).attr("ignore")==="ignore" && ( $(this).val()==="" || $(this).val()===$(this).attr("tip") )){
							flag=true;
							return true;
						}
						errorobj=$(this);
						errorobj.focus();
						$.fn.Validform.sn.showmsg($(this).attr("errormsg")||tipmsg.w,settings.tiptype,{obj:$(this)});
						return false;
					}
					
					if($(this).attr("ajaxurl")){
						if($(this).attr("valid")!="true"){
							flag=false;
							var thisobj=$(this);
							errorobj=thisobj;
							errorobj.focus();
							$.fn.Validform.sn.showmsg(thisobj.attr("valid") || tipmsg.v,settings.tiptype,{obj:thisobj});
							if(!msghidden || settings.tiptype==2){
								setTimeout(function(){
									thisobj.trigger("blur");
								},2000);
							}
							return false;
						}else{
							$.fn.Validform.sn.showmsg(tipmsg.r,settings.tiptype,{obj:$(this),type:2},"hide");
							flag=true;
						}
					}
				});
				
				if(flag && !posting){
					errorobj=null;
					if(settings.postonce){posting=true;}
					if(settings.ajaxPost){
						$.fn.Validform.sn.showmsg(tipmsg.p,settings.tiptype,{obj:$(this)},"alwaysshow");//   “alwaysshow”         tiptye 1  2   ;
						$.ajax({
							type: "POST",
							dataType:"json",
							url: $this.attr("action"),
							data: $this.serialize(),
							success: function(data){
								$.fn.Validform.sn.showmsg(data.info,settings.tiptype,{obj:$(this)},"alwaysshow");
								(settings.callback)(data);
							}
						});
						return false;
					}else{
						if(settings.is_submit){
						$this.get(0).submit();
						}
					}
				}
				
			};
			
			settings.btnSubmit && $this.find(settings.btnSubmit).bind("click",subform);
			$this.submit(function(){
				subform();
				return false;
			});
		});
		
		//    pop box;
		if(settings.tiptype!=2 || settings.ajaxurl){		
			creatMsgbox();
		}
		
	};
	
	$.fn.Validform.sn={
		defaults:{
			tiptype:1,
            ajaxPost:false,
            is_submit:true
            
		},
		
		regcheck:function(type,gets){
			if(type.indexOf(' ')!=-1){//      
				var types = type.split(' ');
				for (var t in types){
					if(arguments.callee.call(this,types[t],gets)){
						continue;
					}else{
						return false;
					}
				}
				return true;
			}else{
				var reg;
				switch(type){
				case "*":
					return true;
				case "k":
					reg= /^[0-9]{1}(\.[0-9]{1,2}){0,1}$/;
					return reg.test(gets);
				case "personname":
					var reg=/^[a-zA-Z0-9\x00-\xff]+/g;
					return reg.test(gets);
				case "chinese":
					var reg=/[^\x00-\xff]/g;
					return reg.test(gets);
				case "notnull":
					reg= /(^\s*)|(\s*$)/g;
					if(!gets)
						return false;
					gets = gets.replace(reg,'');
					return gets.length? true : false ;
				case "positiveinteger": /* 0     */
					reg= /^[0-9]{1,11}$/;
					return reg.test(gets);
				case "positivenumber":/*    */
					reg=/^[1-9]{0,1}[0-9](\.[0-9]{1,2}){0,1}$/;
					return reg.test(gets);
				case "channelname": /*      */
					reg1= /^[a-z0-9][a-z0-9]*:\/\/[a-z0-9][-a-z0-9_]*(\.[a-z0-9][-_a-z0-9]*){1,}$/;
					reg2= /^[a-z0-9][a-z0-9]*:\/\/[*]\.[a-z0-9][-a-z0-9]*(\.[a-z0-9][-a-z0-9]*){1,}$/;
					return reg1.test(gets)||reg2.test(gets);
				case "email": /*    */
					var emails=gets.split(",");
					reg = /^(([0-9a-zA-Z]+)|([0-9a-zA-Z]+[_.0-9a-zA-Z-]*[0-9a-zA-Z]+))@([a-zA-Z0-9-]+[.])+([a-zA-Z]{2}|net|NET|com|COM|gov|GOV|mil|MIL|org|ORG|edu|EDU|int|INT)$/;
					for(var key in emails){
						if(!reg.test(emails[key])){
							return false;
						}
					}
					return true;
				case "sms": /*      */
					var sms=gets.split(",");
					reg= /^[0-9]{11}$/;
					for(var key in sms){
						if(!reg.test(sms[key])){
							return false;
						}
					}
					return true;
				case "isp_hold": /* isp     */
					var isp=gets.split(":");
					var isps = 0.0;
					reg = /^((\d+)(?:\.\d+)?:){4,4}((\d+)(?:\.\d+)?)$/;
					if(!reg.test(gets)) {
						return false;
					}
					for(var key in isp){
						isps= isps+parseFloat(isp[key]);
					}
					if(isps<=0) {
						return false;
					}
					return true;
				default:
					return false;
				}
			}
		},
		
		showmsg:function(msg,type,o,show){// o:{obj:    , type:1=>     |
											// 2=>  },
											// show    tiptype=1           ;
			if(errorobj){errorobj.addClass("Validform_error");}
			
			if(type==1 || show=="alwaysshow"){
				msgobj.find(".Validform_info").text(msg);
			}

			if(type==1 && show!="hide" || show=="alwaysshow"){
				msghidden=false;
				msgobj.find(".iframe").css("height",msgobj.height());
				var left=($(window).width()-msgobj.width())/2;
				var top=($(window).height()-msgobj.height())/2;
				top=(document.documentElement.scrollTop?document.documentElement.scrollTop:document.body.scrollTop)+(top>0?top:0);
				msgobj.css({
					"left":left
				}).show().animate({
					top:top
				},100);
			}
			
			if(type==2){
				if(o.type){
					switch(o.type){
						case 1://     ;
							o.obj.parent().next().find(".Validform_checktip").removeClass().addClass("Validform_checktip Validform_loading").text(msg);
							break;
						case 2://     ;
							o.obj.parent().next().find(".Validform_checktip").removeClass().addClass("Validform_checktip Validform_right").text(msg);	
					}
				}else{
					o.obj.parent().next().find(".Validform_checktip").removeClass().addClass("Validform_wrong Validform_checktip").text(msg);
				}
			}
			
		},
		
		checkform:function(obj,parentobj,tiptype,show){// show           blur       ;
			var errormsg=obj.attr("errormsg") || tipmsg.w;
			
			if(obj.is("[datatype='radio']")){  //   radio    ;
				var inputname=obj.attr("name");
				var radiovalue=parentobj.find(":radio[name="+inputname+"]:checked").val();
				if(!radiovalue){
					errorobj=obj;
					this.showmsg(errormsg,tiptype,{obj:obj},show);
					return false;
				}
				errorobj=null;
				this.showmsg(tipmsg.r,tiptype,{obj:obj,type:2},"hide");
				return "radio";
			}

			if(obj.is("[datatype='checkbox']")){  //   checkbox    ;
				var inputname=obj.attr("name");
				var checkboxvalue=parentobj.find(":checkbox[name="+inputname+"]:checked").val();
				if(!checkboxvalue){
					errorobj=obj;
					this.showmsg(errormsg,tiptype,{obj:obj},show);
					return false;
				}
				errorobj=null;
				this.showmsg(tipmsg.r,tiptype,{obj:obj,type:2},"hide");
				return "checkbox";
			}

			if(obj.is("[datatype='select']")){  //   select    ;
				if(!obj.val()){
				  errorobj=obj;
				  this.showmsg(errormsg,tiptype,{obj:obj},show);
				  return false;
				}
				errorobj=null;
				this.showmsg(tipmsg.r,tiptype,{obj:obj,type:2},"hide");
				return "select";
			}
			
			var defaultvalue=obj.attr("tip");
			if((obj.val()==="" || obj.val()===defaultvalue) && obj.attr("ignore")!="ignore"){
				errorobj=obj;
				this.showmsg(obj.attr("nullmsg") || tipmsg.s,tiptype,{obj:obj},show);
				return false;
			}
			
			if(obj.attr("recheck")){
				var theother=parentobj.find("input[name="+obj.attr("recheck")+"]:first");
				if(obj.val()!=theother.val()){
					errorobj=obj;
					this.showmsg(errormsg,tiptype,{obj:obj},show);
					return false;
				}
			}
			if(obj.attr("alternative")){ //   
				var theother=parentobj.find("textarea[name="+obj.attr("alternative")+"]:first");
				if(theother.val()==undefined){
					theother=parentobj.find("input[name="+obj.attr("alternative")+"]:first");
				}
				if(theother.val()==""&&obj.val()==""){
					errorobj=obj;
					theother.addClass("Validform_error");
					this.showmsg("     ",tiptype,{obj:obj},show);
					this.showmsg("     ",tiptype,{obj:theother},show);
					return false;
				}
				if(obj.val()!=""){
					this.showmsg(tipmsg.r,tiptype,{obj:theother,type:2},"hide");
					theother.removeClass("Validform_error");
				}
				if(theother.val()!=""){
					this.showmsg(tipmsg.r,tiptype,{obj:obj,type:2},"hide");
				}
			}
			if(obj.attr("greaterthan")){//      ,      
				var theother=parentobj.find("input[name="+obj.attr("greaterthan")+"]:first");
				var thisValue=parseInt(obj.val());
				var otherValue=parseInt(theother.val());
				if(!isNaN(thisValue) && !isNaN(otherValue) && thisValue>=otherValue){//     ,     
					errorobj=obj;
					this.showmsg("     ",tiptype,{obj:obj},show);
					return false;
				}else if(!isNaN(thisValue) && !isNaN(otherValue) && thisValue<otherValue){
					this.showmsg(tipmsg.r,tiptype,{obj:theother,type:2},"hide");
					this.showmsg(tipmsg.r,tiptype,{obj:obj,type:2},"hide");
					obj.removeClass("Validform_error");
					theother.removeClass("Validform_error");
				}
				
			}
			if(obj.attr("lessthan")){  //      ,      
				var theother=parentobj.find("input[name="+obj.attr("lessthan")+"]:first");
				var thisValue=parseInt(obj.val());
				var otherValue=parseInt(theother.val());
				if(!isNaN(thisValue) && !isNaN(otherValue) && thisValue<=otherValue){//     ,     
					errorobj=obj;
					this.showmsg("     ",tiptype,{obj:obj},show);
					return false;
				}else if(!isNaN(thisValue) && !isNaN(otherValue) && thisValue>otherValue){
					this.showmsg(tipmsg.r,tiptype,{obj:theother,type:2},"hide");
					this.showmsg(tipmsg.r,tiptype,{obj:obj,type:2},"hide");
					obj.removeClass("Validform_error");
					theother.removeClass("Validform_error");
				}
				
			}
			
			if(obj.attr("greatertime")){  //      ,      
				var theother=parentobj.find("input[name="+obj.attr("greatertime")+"]:first");
				var thisValue=StrToTime(obj.val());
				var otherValue=StrToTime(theother.val());
		        
				if( thisValue<otherValue){
					errorobj=obj;
					this.showmsg("   ",tiptype,{obj:obj},show);
					alert("           ");
					return false;
				}else if(thisValue>=otherValue){
					this.showmsg(tipmsg.r,tiptype,{obj:theother,type:2},"hide");
					this.showmsg(tipmsg.r,tiptype,{obj:obj,type:2},"hide");
					obj.removeClass("Validform_error");
					theother.removeClass("Validform_error");
				}
				
			}
			
			obj.removeClass("Validform_error");
			errorobj=null;
			return true;
		}
		
	};
	function StrToTime(thisValue){
		 var arys= thisValue.split('-');     
         var d = new Date(arys[0], parseInt(arys[1])-1, arys[2]);   
         return  d.getTime();    
	}
	//       &       ;
	$.Showmsg=function(msg){
		creatMsgbox();
		$.fn.Validform.sn.showmsg(msg,1);
	};
	$.Hidemsg=function(){
		msgobj.hide();
		msghidden=true;
	};

})(jQuery);

 
     css:
* {
	margin: 0;
	padding: 0;
}

input,select,textarea {
	font-size: 1em;
	margin: 0;
	color: #000;
	font-family: tahoma, arial, simsun, sans-serif;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

:focus {
	outline: none;
}

body {
	font: 12px/1.5 tahoma, arial, \5b8b\4f53, sans-serif;
}
/* registerform */
.registerform .need {
	width: 10px;
	color: #b20202;
}

.registerform td {
	padding: 5px 0;
	vertical-align: top;
	text-align: left;
}

.registerform .inputxt,.registerform textarea {
	border: 1px solid #a5aeb6;
	width: 196px;
	padding: 2px;
}

.registerform textarea {
	height: 75px;
}

.registerform label {
	margin: 0 26px 0 10px;
}

.registerform .tip {
	line-height: 20px;
	color: #5f6a72;
}

.registerform select {
	width: 202px;
}

.registerformalter select {
	width: 124px;
}
/*==========        ===========*/
.Validform_checktip {
	margin-left: 8px;
	line-height: 20px;
	height: 20px;
	overflow: hidden;
	color: #999;
	font-size: 12px;
}

.Validform_right {
	color: #71b83d;
	padding-left: 20px;
	background: url(../images/right.png) no-repeat left center;
}

.Validform_wrong {
	color: red;
	padding-left: 20px;
	white-space: nowrap;
	background: url(../images/error.png) no-repeat left center;
}

.Validform_loading {
	padding-left: 20px;
	background: url(../images/onLoad.gif) no-repeat left center;
}

.Validform_error {
	background-color: #ffe7e7;
}

#Validform_msg {
	color: #7d8289;
	font: 12px/1.5 tahoma, arial, \5b8b\4f53, sans-serif;
	width: 280px;
	background: #fff;
	position: absolute;
	top: 0px;
	right: 50px;
	z-index: 99999;
	display: none;
	filter: progid :   DXImageTransform.Microsoft.Shadow (   Strength =   3,
		Direction =   135, Color =   '#999999' );
	-webkit-box-shadow: 2px 2px 3px #aaa;
	-moz-box-shadow: 2px 2px 3px #aaa;
}

#Validform_msg .iframe {
	position: absolute;
	left: 0px;
	top: -1px;
	z-index: -1;
}

#Validform_msg .Validform_title {
	line-height: 25px;
	height: 25px;
	text-align: left;
	font-weight: bold;
	padding: 0 8px;
	color: #fff;
	position: relative;
	background-color: #000;
}

#Validform_msg a.Validform_close:link,#Validform_msg a.Validform_close:visited
	{
	line-height: 22px;
	position: absolute;
	right: 8px;
	top: 0px;
	color: #fff;
	text-decoration: none;
}

#Validform_msg a.Validform_close:hover {
	color: #cc0;
}

#Validform_msg .Validform_info {
	padding: 8px;
	border: 1px solid #000;
	border-top: none;
	text-align: left;
}

    jsp
  
<%@ page language="java" contentType="text/html; charset=utf-8"
	pageEncoding="utf-8"%>
<%@ taglib prefix="s" uri="http://www.springframework.org/tags/form"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<script src="resources/jquery/1.10.2/jquery.json-2.4.js"></script>
<script class="jsbin"
	src="resources/jquery/1.10.2/jquery.dataTables.nightly.js"></script>
<script class="jsbin"
	src="resources/jquery/1.10.2/jquery.dataTables.nightly.js"></script>
<style type="text/css" title="currentStyle">
@import "${projectPath}/resources/datatables/css/demo_page.css";

@import "${projectPath}/resources/datatables/css/demo_table.css";

@import "${projectPath}/resources/datatables/css/demo_table_jui.css";
</style>
<script type="text/javascript"
	src="resources/tableValidation/tableValid.js"></script>
<script type="text/javascript">
	$(function() {
		$(".aa:last").Validform({
			tiptype : 2,
			callback : function(data) {
				if (data.status == "y") {
					setTimeout(function() {
						$.Hidemsg();
					}, 2000);
				}
			}
		});
	})
</script>
<style type="text/css">
@import "${projectPath}/resources/tableValidation/valid.css";
</style>
<script type="text/javascript">
	
</script>
<div class="container">
	<s:form action="addchannelbandwidthalarm" method="post"
		modelAttribute="channelalarm" class="aa">
		<div class="row">
			<table id="add" class="table table-hover"
				style="margin-left: auto; margin-right: auto; width: auto;">
				<tr>
					<td>    :</td>
					<td><s:input path="channelname" class="form-control"
							placeholder="    rcms   " datatype="channelname"
							nullmsg="       " errormsg="  rcms   " /> <c:out
							value="${channelnameerror}"></c:out>
					</td>
					<td><div class="Validform_checktip">       </div>
					</td>
				</tr>
				<tr>
					<td>    :</td>
					<td><s:input path="uplimit" class="form-control"
							placeholder="  (MB)" datatype="positiveinteger" nullmsg="       "
							errormsg="      " /></td>
					<td><div class="Validform_checktip">      </div>
					</td>
				</tr>
				<tr>
					<td>    :</td>
					<td><s:input path="downlimit" class="form-control"
							placeholder="  (MB)" datatype="*" greaterthan="uplimit"
						    nullmsg="       " errormsg="      ,     " />
					</td>
					<td><div class="Validform_checktip">      </div>
					</td>
				</tr>
				<tr>
					<td>    :</td>
					<td><s:select path="delay_time" class="form-control">
							<s:option value="5" label="5  " />
							<s:option value="10" label="10  " />
							<s:option value="15" label="15  " />
							<s:option value="30" label="30  " selected="selected" />
							<s:option value="45" label="45  " />
							<s:option value="60" label="60  " />
							<s:option value="120" label="2  " />
						</s:select></td>
					<td><div class="Validform_checktip">            </div>
					</td>
				</tr>
				<tr>
					<td>    :</td>
					<td><s:select path="send_num" class="form-control">
							<s:option value="1" label="5  " />
							<s:option value="2" label="10  " />
							<s:option value="3" label="15  " />
							<s:option value="6" label="30  " />
							<s:option value="9" label="45  " />
							<s:option value="12" label="60  " />
							<s:option value="24" label="2  " />
							<s:option value="120" label="12  " />
						</s:select></td>
					<td><div class="Validform_checktip">            </div>
					</td>
				</tr>
				<tr>
					<td>    :</td>
					<td><s:textarea class="form-control" rows="3" path="email"
							datatype="email" nullmsg="   email" errormsg="email    " /></td>
					<td><div class="Validform_checktip">           </div>
					</td>
				</tr>
				<tr>
					<td>    :</td>
					<td><s:textarea class="form-control" rows="3" path="sms"
							datatype="sms" nullmsg="      " errormsg="    " /></td>
					<td><div class="Validform_checktip">           </div>
					</td>
				</tr>
				<tr>
					<td>    :</td>
					<td><s:select path="enable" class="form-control">
							<s:option value="0" label="  " />
							<s:option value="1" label="   " />
						</s:select></td>
					<td><div class="Validform_checktip">    </div>
					</td>
				</tr>
				<tr>
					<td><input type="submit" class="btn btn-default " value="  " />
					</td>
					<td><a class="btn btn-default btn-sm" role="button"
						href="${pageContext.request.contextPath}/channelbandwidthalarm"
						title="  ">  </a>
					</td>
					<td></td>
				</tr>
			</table>
		</div>
	</s:form>
</div>

좋은 웹페이지 즐겨찾기