示例#1
0
        public override bool DoCheck(FValidatorParameters parameters)
        {
            string value = RString.Nvl(parameters.Value);

            if (!RString.IsEmpty(value))
            {
                string[] items = value.Split('.');
                if (items.Length != 4)
                {
                    parameters.Description = _resource.FindDisplay(MSG_INVALID, _description);
                    return(false);
                }
                foreach (string item in items)
                {
                    int result = 0;
                    if (!Int32.TryParse(item, out result))
                    {
                        parameters.Description = _resource.FindDisplay(MSG_INVALID, _description);
                        return(false);
                    }
                    if (result < 0 || result > 255)
                    {
                        parameters.Description = _resource.FindDisplay(MSG_INVALID, _description);
                        return(false);
                    }
                }
            }
            return(true);
        }
示例#2
0
        public override bool DoCheck(FValidatorParameters parameters)
        {
            string mail = (string)parameters.Value;

            if (!RString.IsEmpty(mail))
            {
                string[] lines = RString.TrimLines(mail.Split('\n'), false);
                if (_maxCount > 0)
                {
                    if (lines.Length > _maxCount)
                    {
                        parameters.Description = _resource.FindDisplay(MSG_MAX_COUNT, _maxCount);
                        return(false);
                    }
                }
                foreach (string line in lines)
                {
                    if (!CheckMail(parameters, line))
                    {
                        return(false);
                    }
                }
            }
            return(true);
        }
示例#3
0
 public bool CheckMail(FValidatorParameters parameters, string mail)
 {
     if (!RString.IsEmpty(mail))
     {
         mail = mail.Trim();
         // Check @
         int at = mail.IndexOf('@');
         if (at == -1)
         {
             parameters.Result      = false;
             parameters.Description = _resource.FindDisplay(MSG_NOT_FIND_AT, mail);
             return(false);
         }
         // Check .
         int dot = mail.IndexOf('.', at + 1);
         if (dot == -1)
         {
             parameters.Result      = false;
             parameters.Description = _resource.FindDisplay(MSG_NOT_FIND_DOT, mail);
             return(false);
         }
         // Check space
         string[] items = mail.Split('@', '.');
         foreach (string item in items)
         {
             if (RString.IsEmpty(item))
             {
                 parameters.Result      = false;
                 parameters.Description = _resource.FindDisplay(MSG_INVALID, mail);
                 return(false);
             }
         }
     }
     return(true);
 }
示例#4
0
        public override bool DoCheck(FValidatorParameters parameters)
        {
            string value = (string)parameters.Value;

            if (RString.IsEmpty(value))
            {
                return(false);
            }
            return(true);
        }
示例#5
0
        public virtual bool Check(FValidatorParameters parameters)
        {
            parameters.Validator = this;
            bool result = DoCheck(parameters);

            if (parameters.RaiseException && !result)
            {
                throw new FValidException(parameters.Description);
            }
            return(result);
        }
示例#6
0
        public override bool DoCheck(FValidatorParameters parameters)
        {
            string value = RString.Nvl(parameters.Value);

            if (RString.IsBlank(value))
            {
                parameters.Description = _resource.FindDisplay(MSG_IS_BLANK, _description);
                return(false);
            }
            return(true);
        }
示例#7
0
        public override bool DoCheck(FValidatorParameters parameters)
        {
            string value = RString.Nvl(parameters.Value);

            if (!RString.IsEmpty(value))
            {
                if (!RString.CheckPattern(value, _partternChars))
                {
                    parameters.Description = _resource.FindDisplay(MSG_INVALID_PARTTERN, _description);
                    return(false);
                }
            }
            return(true);
        }
示例#8
0
        public override bool DoCheck(FValidatorParameters parameters)
        {
            string dir = (string)parameters.Value;

            if (!RString.IsEmpty(dir))
            {
                string fulldir = RFile.CurrentFileName(dir);
                if (!Directory.Exists(fulldir))
                {
                    parameters.Description = _resource.FindDisplay(MSG_NOT_EXISTS, fulldir);
                    return(false);
                }
            }
            return(true);
        }
示例#9
0
        public override bool DoCheck(FValidatorParameters parameters)
        {
            string host = (string)parameters.Value;

            if (!RString.IsEmpty(host))
            {
                /*string[] items = host.Split('.');
                 * if (items.Length == 4) {
                 * foreach (string item in items) {
                 *    int result=0;
                 *    if (!Int32.TryParse(item, result)) {
                 *       parameters.Description = _resource.FindDisplay(MSG_MAX_COUNT, _maxCount);
                 *       return false;
                 *    }
                 * }
                 * }*/
            }
            return(true);
        }
示例#10
0
        public override bool DoCheck(FValidatorParameters parameters)
        {
            string value = RString.Nvl(parameters.Value);

            if (!RString.IsEmpty(value))
            {
                int length = value.Length;
                // Min check
                if (_minLength > 0 && length < _minLength)
                {
                    parameters.Description = _resource.FindDisplay(MSG_LENGTH_LOWER, _description, length, _minLength);
                }
                // Max check
                if (_maxLength > 0 && length > _maxLength)
                {
                    parameters.Description = _resource.FindDisplay(MSG_LENGTH_LAGER, _description, length, _maxLength);
                }
                return(false);
            }
            return(true);
        }
示例#11
0
 public abstract bool DoCheck(FValidatorParameters parameters);