我有一个包含各种子对象的类:
public class ApplicationPayload
{
public Quote Quote { get; set; }
public IApplication Application { get; set; }
public DeliveryPreferences DeliveryPreferences { get; set; }
}
我有一个接受此模型的api控制器方法:
public async Task<IActionResult> LtdCompanyPost([FromBody] ApplicationPayload payload)
{
}
当提交到控制器方法时,实现IApplication的类中的属性未被验证(验证似乎被忽略),但是,其他对象(Quote / DeliveryPreferences)正在按预期进行验证。
是否可以让我的对象实现IApplication可验证,或者这种结构根本不适用于我?
(我测试了实现IApplication的对象,使它们与Quote / DeliveryPreferences处于同一级别,删除了接口实现,并且验证按预期工作,因此验证规则本身不是问题。)
有什么建议吗?如有必要,我可以举出更多例子。
答案 0 :(得分:0)
我的猜测是你在transaction
的下面检查中犯了错误,界面没有构造函数。
但更广泛地说,它如何知道要实例化的接口的实现?
ComplexModelBinder