public ModelStateBuilder <T> SetFieldError(string fieldName, ProblemDetailsFieldType errorType, string message = null, Func <ProblemDetailsFieldType, bool> addOnly = null) { if (addOnly == null || addOnly(errorType)) { this._controller.ModelState.TryAddModelError(fieldName, ProblemDetailsFactory.GetComposeTypeAndErrorMessage(errorType, message)); } return(this); }
public bool HasProblem(Expression <Func <T, object> > expression, ProblemDetailsFieldType errorType) { string typeName = Enum.GetName(typeof(ProblemDetailsFieldType), errorType); var fieldName = GetFieldName(expression); if (this._controller.ModelState.ContainsKey(fieldName)) { foreach (var e in this._controller.ModelState[fieldName].Errors) { if (e.ErrorMessage.StartsWith(typeName)) { return(true); } } } return(false); }
public static IRuleBuilderOptions <T, TProperty> WithMessage <T, TProperty>(this IRuleBuilderOptions <T, TProperty> rule, ProblemDetailsFieldType type, string errorMessage) { rule.WithMessage(ProblemDetailsFactory.GetComposeTypeAndErrorMessage(type, errorMessage)); return(rule); }
public static string GetComposeTypeAndErrorMessage(ProblemDetailsFieldType errorType, string message) { string typeName = Enum.GetName(typeof(ProblemDetailsFieldType), errorType); return($"{typeName}/{message}"); }
public ModelStateBuilder <T> SetFieldError(Expression <Func <T, object> > expression, ProblemDetailsFieldType errorType, string message = null, Func <ProblemDetailsFieldType, bool> addOnly = null) { var fieldName = GetFieldName(expression); return(SetFieldError(fieldName, errorType, message, addOnly)); }