Ejemplo n.º 1
0
        /// <summary>
        /// 查询错误集合
        /// </summary>
        private static BaseResultModel <List <ValidationErrorMessageModel> > TryValidataObject <TModel>(TModel model)
        {
            List <ValidationErrorMessageModel> results      = new List <ValidationErrorMessageModel>();
            List <ValidationResult>            erorrResults = new List <ValidationResult>();

            try
            {
                ValidationContext context = new ValidationContext(model, null, null);
                bool isValid = Validator.TryValidateObject(model, context, erorrResults, true);
                if (!isValid)
                {
                    foreach (ValidationResult items in erorrResults)
                    {
                        foreach (string item in items.MemberNames)
                        {
                            ValidationErrorMessageModel result = new ValidationErrorMessageModel();
                            result.ErrorName    = item;
                            result.ErrorMessage = items.ErrorMessage;
                            results.Add(result);
                        }
                    }
                    return(new ErrorResultModel <List <ValidationErrorMessageModel> >(EnumErrorCode.参数校验未通过, "参数校验未通过")
                    {
                        Data = results
                    });
                }
                return(new SuccessResultModel <List <ValidationErrorMessageModel> >());
            }
            catch (Exception e)
            {
                return(new ErrorResultModel <List <ValidationErrorMessageModel> >(EnumErrorCode.系统异常, "传入类型不正确"));
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 验证模型,返回全部错误信息,并并拼接成字符串,以逗号分隔
        /// </summary>
        public static BaseResultModel <string> ValidationModelAllString <TModel>(TModel model)
        {
            BaseResultModel <List <ValidationErrorMessageModel> > results = ValidationModelAll(model);

            if (!results.IsSuccess)
            {
                if (results.Data == null || results.Data.Count() == 0)
                {
                    return(new SuccessResultModel <string>());
                }
                ValidationErrorMessageModel errorModel = ErrorMessageModelToString(results.Data);
                return(new ErrorResultModel <string>(results.ErrorCode, errorModel.ErrorMessage));
            }
            return(new SuccessResultModel <string>());
        }
Ejemplo n.º 3
0
        public static BaseResultModel <string> ValidationField <TModel>(TModel model, bool isField = true, params string[] field)
        {
            BaseResultModel <List <ValidationErrorMessageModel> > results = ValidationFieldAll(model, isField, field);

            if (results.IsSuccess)
            {
                return(new SuccessResultModel <string>());
            }
            if (results.Data == null || results.Data.Count() == 0)
            {
                return(new SuccessResultModel <string>());
            }
            ValidationErrorMessageModel result = results.Data.FirstOrDefault();

            return(new ErrorResultModel <string>(results.ErrorCode, result.ErrorMessage));
        }
Ejemplo n.º 4
0
        public static BaseResultModel <string> ValidationFieldAllString <TModel>(TModel model, bool isField = true, params string[] field)
        {
            BaseResultModel <List <ValidationErrorMessageModel> > isResults = ValidationFieldAll(model, isField, field);

            if (isResults.IsSuccess)
            {
                return(new SuccessResultModel <string>());
            }
            if (isResults.Data == null || isResults.Data.Count() == 0)
            {
                return(new SuccessResultModel <string>());
            }
            ValidationErrorMessageModel errorModel = ErrorMessageModelToString(isResults.Data);

            return(new ErrorResultModel <string>(isResults.ErrorCode, errorModel.ErrorMessage));
        }
Ejemplo n.º 5
0
 /// <summary>
 /// 验证模型,发现错误立即返回
 /// </summary>
 public static BaseResultModel <string> ValidationModel <TModel>(TModel model)
 {
     try
     {
         BaseResultModel <List <ValidationErrorMessageModel> > results = ValidationModelAll(model);
         if (!results.IsSuccess)
         {
             ValidationErrorMessageModel result = results.Data.FirstOrDefault();
             return(new ErrorResultModel <string>(results.ErrorCode, result.ErrorMessage));
         }
         return(new SuccessResultModel <string>());
     }
     catch (Exception e)
     {
         return(new ErrorResultModel <string>(EnumErrorCode.系统异常, "获取错误列表发生异常"));
     }
 }
Ejemplo n.º 6
0
        public static BaseResultModel <List <ValidationErrorMessageModel> > ValidationFieldAll <TModel>(TModel model, bool isField, params string[] field)
        {
            BaseResultModel <List <ValidationErrorMessageModel> > isResults = TryValidataObject(model);

            if (isResults.IsSuccess)
            {
                return(new SuccessResultModel <List <ValidationErrorMessageModel> >());
            }
            if (isResults.Data == null || isResults.Data.Count() == 0)
            {
                return(isResults);
            }
            List <ValidationErrorMessageModel> results = new List <ValidationErrorMessageModel>();

            try
            {
                foreach (ValidationErrorMessageModel item in isResults.Data)
                {
                    if (field.Where(a => a == item.ErrorName).Count() > 0 && isField)
                    {
                        ValidationErrorMessageModel result = new ValidationErrorMessageModel();
                        result.ErrorName    = item.ErrorName;
                        result.ErrorMessage = item.ErrorMessage;
                        results.Add(result);
                    }
                    else if (field.Where(a => a == item.ErrorName).Count() == 0 && !isField)
                    {
                        ValidationErrorMessageModel result = new ValidationErrorMessageModel();
                        result.ErrorName    = item.ErrorName;
                        result.ErrorMessage = item.ErrorMessage;
                        results.Add(result);
                    }
                }
                return(new ErrorResultModel <List <ValidationErrorMessageModel> >(isResults.ErrorCode, isResults.ErrorMessage)
                {
                    Data = isResults.Data
                });
            }
            catch (Exception e)
            {
                return(new ErrorResultModel <List <ValidationErrorMessageModel> >(EnumErrorCode.系统异常, "验证指定字段发生异常"));
            }
        }