我正在按以下方式处理DbEntityValidationException
:
private static string HandleErrorMessages(DbEntityValidationException dbEx)
{
var msg = new StringBuilder();
foreach (var validationError in dbEx.EntityValidationErrors.SelectMany(validationErrors => validationErrors.ValidationErrors))
msg.AppendFormat("Property: {0} Error: {1}",
validationError.PropertyName, validationError.ErrorMessage).AppendLine();
return msg.ToString();
}
我收到错误消息:
属性:电话错误:电话字段必须是最大长度为15的字符串。
现在,我想知道Phone
的值是什么。如何使用反射来获取有问题的输入的值?例如,我想看看:
属性:电话错误:电话字段必须是最大长度为15的字符串。用户输入了“ asdfasdfasdfasdfasdf”。
(我知道我需要修复输入验证,但我希望在后端进行这种回退。)