using System; using System.Linq.Expressions; using Microsoft.AspNetCore.Mvc.ModelBinding; using Microsoft.AspNetCore.Mvc.ViewFeatures.Internal; namespace BTCPayServer { public static class ModelStateExtensions { public static void AddModelError( this ModelStateDictionary modelState, Expression> ex, string message ) { var key = ExpressionHelper.GetExpressionText(ex); modelState.AddModelError(key, message); } public static void AddModelError(this TModel source, Expression> ex, string message, ModelStateDictionary modelState) { var key = ExpressionHelper.GetExpressionText(ex); modelState.AddModelError(key, message); } } }