2019-05-21 08:10:07 +00:00
|
|
|
using System;
|
|
|
|
using System.Linq.Expressions;
|
2019-10-03 18:00:07 +09:00
|
|
|
using Microsoft.AspNetCore.Mvc;
|
|
|
|
using Microsoft.AspNetCore.Mvc.ViewFeatures;
|
2019-05-21 08:10:07 +00:00
|
|
|
|
|
|
|
namespace BTCPayServer
|
|
|
|
{
|
|
|
|
public static class ModelStateExtensions
|
|
|
|
{
|
2020-06-28 17:55:27 +09:00
|
|
|
public static void AddModelError<TModel, TProperty>(this TModel source,
|
|
|
|
Expression<Func<TModel, TProperty>> ex,
|
2019-05-21 08:10:07 +00:00
|
|
|
string message,
|
2021-10-18 05:37:59 +02:00
|
|
|
ControllerBase controller)
|
2019-05-21 08:10:07 +00:00
|
|
|
{
|
2019-10-03 18:00:07 +09:00
|
|
|
var provider = (ModelExpressionProvider)controller.HttpContext.RequestServices.GetService(typeof(ModelExpressionProvider));
|
|
|
|
var key = provider.GetExpressionText(ex);
|
|
|
|
controller.ModelState.AddModelError(key, message);
|
2019-05-21 08:10:07 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|