var _requireIds;var _emailIds;var _ranges=new Array();var _requireListNames;var _intIds;var _floatIds;var v_errShowType=0;validate.msg_Int="只能输入整数";validate.msg_Float="只能输入数字";validate.msg_MustSelect="必须选择";validate.requireMsg="必填属性";validate.requireListMsg="必填至少选择一项";validate.emailMsg="不符合Email规则";validate.rangeMsg="输入值必须在 {0} - {1} 之间";var _errsapn=new Array();function g(id){return document.getElementById(id)}function validate_init(){if(_requireIds){try{ids=_requireIds.split(",");for(var i=0;i<ids.length;i++){obj=g(ids[i]);if(obj){createRequireTag(obj)}}}catch(e){throw e}}}function validate(){try{clearMsg();validRequire();validEmail();validRange();validRequireList();valid_Int();valid_Float()}catch(e){alert(e);return false}if(_errsapn.length>0){return false}else{return true}}function validRequire(){if(_requireIds==null){return}ids=_requireIds.split(",");for(var i=0;i<ids.length;i++){obj=g(ids[i]);if(obj.tagName=="SELECT"){validSelect(obj)}else{if(obj.tagName=="INPUT"){type=obj.getAttribute("type");if(type=="text"||type=="file"||type=="password"){validText(obj,/[\S]+/,validate.requireMsg)}else{if(type=="checkbox"||type=="radio"){validCheck(obj)}}}else{if(obj.tagName=="TEXTAREA"){validText(obj,/[\S]+/,validate.requireMsg)}}}}}function valid_Int(){if(_intIds==null){return}ids=_intIds.split(",");var strRegInt=/^-{0,1}\d+$/;for(var i=0;i<ids.length;i++){obj=g(ids[i]);if(obj.value.length==0){continue}validText(obj,strRegInt,validate.msg_Int)}}function valid_Float(){if(_floatIds==null){return}ids=_floatIds.split(",");var strRegFloat=/^-{0,1}\d+.{0,1}\d*$/;for(var i=0;i<ids.length;i++){obj=g(ids[i]);if(obj.value.length==0){continue}validText(obj,strRegFloat,validate.msg_Float)}}function validRequireList(){if(_requireListNames==null){return}names=_requireListNames.split(",");for(var i=0;i<names.length;i++){var objs=document.getElementsByName(names[i]);var tmpRet=false;if(objs.length==0){tmpRet=true}for(var k=0;k<objs.length;k++){if(objs[k].checked){tmpRet=true;break}}if(!tmpRet){createMsg(validate.requireListMsg,objs[0])}}}function validEmail(){if(_emailIds==null){return}var strRegEmail="^[\\w.-]+@([0-9a-zA-Z\\w-]+\\.)+[0-9a-zA-Z]{2,8}$";ids=_emailIds.split(",");for(var i=0;i<ids.length;i++){obj=g(ids[i]);if(!obj.value.match(strRegEmail)){createMsg(validate.emailMsg,obj)}}}function validRange(){if(_ranges.length==0){return}for(var i=0;i<_ranges.length;i++){obj=g(_ranges[i].id);if(obj.value.replace(" ","")==""){return}v=parseInt(obj.value);if((v>_ranges[i].maxValue)||(v<_ranges[i].minValue)){var msg=validate.rangeMsg.replace("{0}",_ranges[i].minValue).replace("{1}",_ranges[i].maxValue);createMsg(msg,obj)}}}function createMsg(msg,control,focus){if(v_errShowType==0){spn=document.createElement("label");spn.setAttribute("name","validerr");spn.className="msg_err";spn.innerHTML=msg;if(typeof(focus)=="undefined"){control.focus()}control.parentNode.appendChild(spn);_errsapn.push(spn)}else{_errsapn.push(spn)}}function clearMsg(){if(_errsapn.length>0){count=_errsapn.length-1;for(var i=count;i>=0;i--){o=_errsapn.pop();o.parentNode.removeChild(o)}}}function createRequireTag(control){spn=document.createElement("span");spn.className="mvcRequire";spn.innerHTML="*";control.parentNode.appendChild(spn)}function range(id,minValue,maxValue){this.id=id;this.minValue=minValue;this.maxValue=maxValue}function validSelect(obj){ret=true;if(obj.getAttribute("MULTIPLE")){if(obj.selectedIndex==-1){createMsg(validate.msg_MustSelect,obj);ret=false}}else{if(obj.selectedIndex==0){createMsg(validate.msg_MustSelect,obj);ret=false}}return ret}function validText(obj,reg,msg){if(!obj.value.match(reg)){createMsg(msg,obj);return false}return true}function validCheck(obj){if(!obj.checked){createMsg(validate.requireMsg,obj);return false}return true}function mvc_Int(evt){code=evt.keyCode;return IsNumericAllow(code)}function mvc_Float(evt){code=evt.keyCode;if(code==110||code==190||IsNumericAllow(code)){return true}return false}function IsNumericAllow(code){if((code>95&&code<106)||(code>32&&code<41)||(code>47&&code<58)||code==8||code==46||code==9||code==13){return true}else{return false}};