我正在使用.Net Core 2.1 Razor页面,并且在验证我的模型之一时遇到问题。我注意到当我尝试更新模型时,IsValid函数被调用两次。第一次调用时,所有导航属性都为null,第二次调用时,它们均已正确加载。有没有办法只让IValidatableObject验证导航属性是否已加载,还是有更好的方法来验证相关模型字段?
我的目标是,如果相关字段上的属性是某个值,则使该属性成为必需。我可能没有正确理解IValidatableObject,因此将不胜感激。我的用例基本上是这样的。
public class ModelA
{
public string FieldA { get; set; }
public ModelB ModelB { get; set; }
}
public class ModelB
{
public string FieldB { get; set; }
}
var required = ModelA.ModelB.FieldB.Equals("some value");