/// <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.系统异常, "传入类型不正确")); } }
/// <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>()); }
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)); }
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)); }
/// <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.系统异常, "获取错误列表发生异常")); } }
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.系统异常, "验证指定字段发生异常")); } }