打印验证结果错误列表 .NET 中剩余的结果
本文关键字:结果 列表 验证 错误 打印 NET | 更新日期: 2023-09-27 18:30:51
我的代码如下:
//Validate that all the attributes are well setted
ValidationContext vc = new ValidationContext(callDAO, null, null);
var resultsValidation = new List<ValidationResult>();
bool validated = Validator.TryValidateObject(callDAO, vc, resultsValidation, true);
if(validated)
{
//Execute some code
}
else{
notValidated++;
var errorValidations = resultsValidation.Select(v => v.ErrorMessage);
log.Error(string.Format("The attribute VALIDATION FAILED due to: " + errorValidations));
}
我想做的是正确打印日志文件中"错误验证"中包含的错误。但是在日志中写入时,会写入以下内容:
System.Linq.Enumerable+WhereSelectListIterator`2[System.ComponentModel.DataAnnotations.ValidationResult,System.String]
问题:如何正确显示"结果验证"中包含的信息?
注意:"结果验证"中引入的归因长度大于定义的长度时的内容示例:
[0] {The field Id must be a string with a maximum lenght of 15.}
谢谢大家的回答。
errorValidations
的类型为IEnumerable<ValidationResult>
,您需要一个 foreach
循环来循环访问集合以打印每个验证结果,
foreach (ValidationResult result in errorValidations)
log.Error("The attribute VALIDATION FAILED due to: " + result.ToString());