﻿//是否提交
var CanSubmit=true;
//是否使用验证
var CanValidator=false;

function Validator(form)
{     
try{
    //不能提交直接拒绝提交
    if(!CanSubmit)
    {
        CanSubmit=true;//赋默认值
        return false;
    }
    //如果不是用验证直接提交
    if(!CanValidator)
    {
        return true;
    }
    else
    {
        CanValidator=false;//赋默认值
    }
    for(i=0;i<form.elements.length;i++)
    {
        if((form.elements[i].nodeName=="INPUT"&&form.elements[i].type=="text")||form.elements[i].nodeName=="TEXTAREA")
        {
            if(!IsValidatorField(form.elements[i]))
                return false;
        }
    }
    return true;
   }
   catch(e){alert("验证错误!");return false;}
}
//验证元素是否符合格式
function IsValidatorField(element)
{
    if(element.NotNull=="true"&&element.value=="")
    {
        alert(element.title+":不能为空！");
        element.focus();
        return false;
    }
    if(element.NotNull!="true"&&element.value=="")
    {
        return true;
    }
    if(element.Format=="Email"&&!IsEmail(element.value))
    {
        alert(element.title+":必须为邮件格式！");
        element.focus();
        return false;
    }
    if(element.Format=="Number"&&!IsNumber(element.value))
    {
        alert(element.title+":必须为数字格式！");
        element.focus();
        return false;
    }
    if(element.MaxLong&&element.MaxLong!=""&&!IsTooLong(element.value,element.MaxLong))
    {
        alert(element.title+":内容过长，最多允许 "+element.MaxLong+" 个字符！");
        element.focus();
        return false;
    }
    if(element.MinLong&&element.MinLong!=""&&!IsTooShort(element.value,element.MinLong))
    {
        alert(element.title+":内容过少，至少 "+element.MinLong+" 个字符！");
        element.focus();
        return false;                
    }
    return true;
}
function IsEmail(str)
{
    p=str.indexOf('@');
    if (p<1 || p==(str.length-1))
        return false;
    return true;
}
function IsNumber(str)
{
//    var tmp=str.split(",");
//	for(i=0;i<tmp.length;++i)
//	{
//		if(isNaN(tmp[i]))
//		return false;
//	}
    if(isNaN(str))
        return false;
	return true;
}
function IsTooLong(str,maxLong)
{
    return str.length<=maxLong;
}
function IsTooShort(str,minLong)
{
     return str.length>=minLong;
}