【发布时间】:2026-01-29 12:35:01
【问题描述】:
我有一个通常看起来像的方法
public IActionResult SomeAction(Guid id, [FromBody] Request request)
{
//bunch of other stuff left out
AnotherObject obj = Mapper.Map(request);
if (ModelState.IsValid) {//only validation errors on the request object are found
//obj validation errors are ignored
}
}
在 Request 类中,我使用 DataAnnotations 来测试模型状态,这些都可以正常工作。但是,在 AnotherObject 内部,我也在使用 DataAnnotations,当我在此函数中测试 ModelState 时,.NET 会从 Request 对象中看到验证错误,但在映射对象中却看不到。
此端点的调用者不知道 AnotherObject,也不需要。有没有办法让 .NET 尊重在控制器操作内部创建但未传入的对象的验证?
【问题讨论】:
标签: c# asp.net-core asp.net-core-webapi asp.net-core-2.1