【发布时间】:2020-09-24 11:48:59
【问题描述】:
我在客户端验证属性中有下一个“AddValidation”方法(继承自ValidationAttribute,IClientModelValidator)
public void AddValidation(ClientModelValidationContext context)
{
var viewContext = context.ActionContext as ViewContext;
var modelType = context.ModelMetadata.ContainerType;
var model = viewContext?.ViewData.Model;
var maxDate = (DateTime?)modelType.GetProperty(_maxDateName)?.GetValue(model, null);
var minDate = (DateTime?)modelType.GetProperty(_minDateName)?.GetValue(model, null);
var errorMessage = string.Format(ErrorMessageString, minDate?.ToString("MM/dd/yyyy"), maxDate?.ToString("MM/dd/yyyy"));
context.Attributes.Add("data-val-preliminaryraterangedate", errorMessage);
context.Attributes.Add("data-val-preliminaryraterangedate-rangedates",
JsonConvert.SerializeObject(new {MaxDateName = $"#{_maxDateName}", MinDateName = $"#{_minDateName}"}));
}
如何获取模型对象以获取属性值?仅当模型对象包含原始类型时,此示例才适用。并且不能使用包含复杂类型的模型对象
【问题讨论】:
标签: asp.net asp.net-core