public static IEnumerable <ValidataErrorModel> Validata <T>(this T t) where T : BaseModel { Type type = typeof(T); List <ValidataErrorModel> validataErrorModels = validataErrorModels = new List <ValidataErrorModel>(); foreach (PropertyInfo prop in type.GetProperties()) { if (prop.IsDefined(typeof(AbstractValidataAttribute), true)) { IEnumerable <AbstractValidataAttribute> abstractValidataAttribute = prop.GetCustomAttributes <AbstractValidataAttribute>(true) as IEnumerable <AbstractValidataAttribute>; foreach (var validataAttribute in abstractValidataAttribute) { //validataErrorModels.Add(validataAttribute.Validata(prop.GetValue(t))); ValidataErrorModel validataErrorModel = validataAttribute.Validata(prop.GetValue(t)); if (validataErrorModel.IsError) //只返回错误信息 { validataErrorModel.ErrorMsg = prop.GetDisplayName() + validataErrorModel.ErrorMsg; validataErrorModels.Add(validataErrorModel); //yield return validataErrorModel; } } } } return(validataErrorModels); }
private static ValidataErrorModel Rule(object error) { ValidataErrorModel validataErrorModel = new ValidataErrorModel() { IsError = false, ErrorMsg = null }; if (error is null) { validataErrorModel.IsError = true; validataErrorModel.ErrorMsg = "不能为空!"; } else if (error.ToString().Length < _Min) { validataErrorModel.IsError = true; validataErrorModel.ErrorMsg = $"长度不能小于{_Min}个长度!"; } else if (error.ToString().Length > _Max) { validataErrorModel.IsError = true; validataErrorModel.ErrorMsg = $"长度不能大于{_Max}个长度!"; } return(validataErrorModel); }
private static ValidataErrorModel Rule(object error) { ValidataErrorModel validataErrorModel = new ValidataErrorModel() { IsError = false, ErrorMsg = null }; if (error is null || string.IsNullOrWhiteSpace(error.ToString())) { validataErrorModel.IsError = true; validataErrorModel.ErrorMsg = "不能为空或者为null!"; } return(validataErrorModel); }
private static ValidataErrorModel Rule(object error) { ValidataErrorModel validataErrorModel = new ValidataErrorModel() { IsError = false, ErrorMsg = null }; if (error is null) { validataErrorModel.IsError = true; validataErrorModel.ErrorMsg = "不能为空!"; } else if (!Regex.IsMatch(error.ToString(), _Reg)) { validataErrorModel.IsError = true; validataErrorModel.ErrorMsg = "格式不正确!"; } return(validataErrorModel); }