我正在创建控制器单元测试,并试图以编程方式通过远程验证来验证视图模型。内置并验证所有触发并正确返回,但是将无法执行远程验证。
所有验证均在表单发布中进行。帖子还在做我在单元测试中需要做的事情。
这是我用来验证视图模型的代码:
public static void ValidateViewModel<TViewModel, TController>(this TController controller, TViewModel viewModelToValidate)
where TController : Controller
{
var validationContext = new ValidationContext(viewModelToValidate, null, null);
var validationResults = new List<ValidationResult>();
Validator.TryValidateObject(viewModelToValidate, validationContext, validationResults, true);
foreach (var validationResult in validationResults)
{
controller.ModelState.AddModelError(validationResult.MemberNames.FirstOrDefault() ?? string.Empty, validationResult.ErrorMessage);
}
}
谢谢