验证

一、有多个栏位,第一个出错的栏位要取得焦点。

栏位1:不可为空值;  栏位2:数量不可为0与负值(整数部分最多8位,小数部分四舍五入);  栏位3:必须为short类型。

//驗證
function validate(){
	var msg="錯誤信息: ";
	var errorSpring=document.getElementById("errorSpring");
	var flag=0;
	//栏位1不可為空
	var state=document.getElementById("ADO.field1");
	if(state==null||state.value==""){
		state.focus();
		flag=1;//已发现错误,取得焦点了。
		msg+="栏位1不可為空";
	}
	//數量不可為0與負值
	var qty=document.getElementById("qty"); 
	var temp=/^(([1-9]\d*(\.\d*){0,1})|(0(\.\d*[1-9]\d*){1}))$/;//格式類型(整数 或 大於0的浮點型)
	var temp2=/^(([1-9]\d{0,7}(\.\d*){0,1})|(0(\.\d*[1-9]\d*){1}))$/;//整數最多8位
	var temp3=/([0-9]+\.[0-9]{4})[0-9]*/;//小數超過4位
	if(qty.value==""){
		if(flag==0)
		{
			msg+="數量不可為空";
			qty.focus();//若为第一次错误,则取得焦点;否则之前的错误栏位已经取得焦点了。
			
		}else{
			
			msg+=";數量不可為空";
		}
		flag=1;
	}else if(!temp.test(qty.value)){//輸入類型,格式匹配
		
		if(flag==0)
		{
			msg+="數量為大於0的浮點/整數類型";
			qty.focus();
			
		}else{
			
			msg+=";數量為大於0的浮點/整數類型";
		}
		flag=1;
	}else if(!temp2.test(qty.value)){//長度限制不匹配(整數超出8位-顯示錯誤)
		if(flag==0)
		{
			msg+="數量整數位最多8位";
			qty.focus();
			
		}else{
			
			msg+=";數量整數位最多8位";
		}
		flag=1;
	}else if(temp3.test(qty.value)){//小數超出4位-四捨五入
	    
		qty.value=qty.value.replace(temp3,"$1");
	}
	
	//序號必須為short類型
	var num=document.getElementById("applyItem");
	var temp4=/^[1-9]\d*$/;//正整數
	if(num!=null&&num.value!=""&&!temp4.test(num.value)){
		if(flag==0)
		{
			msg+="序號必須為>1的整數值";
			num.focus();
			
		}
		else{
			
			msg+=";序號必須為>1的整數值";
		}
		flag=1;
		
	}else if(parseInt(num.value)>32767){//short类型最大为32767
		if(flag==0)
		{
			msg+="序號數值過大";
			num.focus();
			
		}
		else{
			
			msg+=";序號數值過大";
		}
		flag=1;
	}
	
	if(flag!=0){
		document.getElementById("errorMsg").innerHTML =msg;
		if(errorSpring!=null){
			errorSpring.innerHTML="";
		}
		return false;
	}
	return true;
}
二、Ext验证

<input type="number" size="5" ... apply="true" val="{allowBlank:false,blankText:'不能为空!',allowNegative:false,allowDecimals:false,minValue:1,maxLength:5,maxLengthText:'最大为5位',minText:'必须大于或等于:{0}'}"/>


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值