
function validateForm() {
	var i, j, vObj, vType, vCon, eNum = 0, eMsg = '', cItemNum = 0, fErrMsg='', re;
	var args = validateForm.arguments;
	for (i = 0; i < (args.length-2); i += 3)
		{
		vObj = args[i];
		vType = args[i+1];
		vCon = args[i+2];
		switch (vType)
			{
				case 'FitRegEx':
					re = vCon;
					if ( vObj.value.search( re ) != 0 )
						{
							eNum ++;
							eMsg += genErrMsg( eNum,vObj,'的值不符合要求' );
						}
					break;
				case 'AntiRegEx':
					re = vCon;
					if ( vObj.value.search( re ) >= 0 )
						{
							eNum ++;
							eMsg += genErrMsg( eNum,vObj,'的值不符合要求' );
						}
					break;
				case 'NotBlank':
					if ( vObj.value == '' )
						{
							eNum ++;
							eMsg += genErrMsg( eNum,vObj,'没有填写' );
						}
					break;
				case 'IsNumeric':
					if ( isNaN(vObj.value) || vObj.value == '' )
						{
							eNum ++;
							eMsg += genErrMsg( eNum,vObj,'不是数字' );
						}
					break;
				case 'IsInt':
					re = /^[0-9]+$/;
					if ( vObj.value.search(re) != 0 || vObj.value.substring(0,1) == 0 )
						{
							eNum ++;
							eMsg += genErrMsg( eNum,vObj,'不是整数' );
						}
					break;
				case 'IsEmail':
					re = /^[a-zA-Z0-9_]+@[a-zA-Z\.0-9_-]+$/;
					if ( vObj.value.search(re) != 0 )
						{
							eNum ++;
							eMsg += genErrMsg( eNum,vObj,'不是有效Email地址' );
						}
					break;
				case 'IsPlainText':
					re = /<[a-zA-Z]+[^>]*>/;
					if ( vObj.value.search(re) >= 0 )
						{
							eNum ++;
							eMsg += genErrMsg( eNum,vObj,'不是纯文本，含有HTML标签' );
						}
					break;
				case 'LengthRange':
					vc_min = parseFloat( vCon.substring( 0,vCon.indexOf("to") ) );
					vc_max = parseFloat( vCon.substring( vCon.indexOf("to")+2 ) );
					if ( vObj.value.length < vc_min || vObj.value.length > vc_max )
						{
							eNum ++;
							eMsg += genErrMsg( eNum,vObj,'的长度不在指定范围内' );
						}
					break;
				case 'NumericRange':
					vc_min = parseFloat( vCon.substring( 0,vCon.indexOf("to") ) );
					vc_max = parseFloat( vCon.substring( vCon.indexOf("to")+2 ) );
					if ( vObj.value < vc_min || vObj.value > vc_max )
						{
							eNum ++;
							eMsg += genErrMsg( eNum,vObj,'的值不在指定范围内' );
						}
					break;
				case 'IsEqualTo':
					if ( vObj.value != vCon.value )
						{
							eNum ++;
							eMsg += genErrMsg( eNum,vObj,'和第一次输入的不相等' );
						}
					break;
				case 'CheckLimit':
					vc_min = parseFloat( vCon.substring( 0,vCon.indexOf("to") ) );
					vc_max = parseFloat( vCon.substring( vCon.indexOf("to")+2 ) );
					if ( vc_max == -1 )//vc_max=-1表示没有上限
						{
							vc_max = vObj.length;
						}
					for (j = 0;j < vObj.length;j ++)
						{
							if ( vObj[j].checked )
								{
									cItemNum ++;
								}
						}
					if ( cItemNum < vc_min || cItemNum > vc_max )
						{
							eNum ++;
							eMsg += genErrMsg( eNum,vObj[0],'的选中项目数不在指定范围内' );
						}
					break;
				case 'SelectValid':
					if ( vObj.value == '' )
						{
							eNum ++;
							eMsg += genErrMsg( eNum,vObj,'没有选中有效项' );
						}
					break;
			}
		}
	if ( eNum )
		{
		fErrMsg = '抱歉，您提交的数据存在' + eNum + '处错误:\n';
		fErrMsg += '==============================\n';
		fErrMsg += eMsg;
		fErrMsg += '==============================\n';
		fErrMsg += '\n请修改后再提交，谢谢！';
		alert( fErrMsg );
		return false;
		}
}

//Generate Error Message
function genErrMsg(eTimes,vObj,eType)
{
	eMsg = eTimes + '. [ ' + vObj.title + ' ] ' + eType + '。\n';
	return eMsg;
}
