我正在尝试制作一个带有客户端验证和后端验证的预订表单。客户端验证成功并且工作正常。但服务器端验证存在问题。这是来自与客户具有一对一关系的
Booking
实体:
//Relationship
[ForeignKey("Customer")]
public int customerID { get; set; }
public Customer Customer { get; set; }
我从预订表格中发送
customerID
<input asp-for="Booking.customerID" value="1" hidden/>
但是当我提交表格时,
modelState
会是假的,当我寻找原因时,它变成了关系
{[Booking.Customer, SubKey={Customer}, Key=Booking.Customer, ValidationState=Invalid]}
我正在 ASP.NET 中使用 n 层架构,并且我有通用存储库和接口。
有什么问题吗?
为了避免 modelState 为 false,使用
?
后缀声明可为 null 的引用类型会产生警告。尝试添加 ?
,例如:
public Customer? Customer { get; set; }