我有一个类似于此的 MVC 项目...
模型
Public Class ItemDetails
Public Property SerialNo As Integer
Public Property Description As String
Public Property GroupNo As Integer
Public Property Price As String
Public Property Quantity As Integer
End Class
控制器
Function ListItems() As ActionResult
' GetItems retrieves the items from the database
Dim i As List(Of ItemDetails) = ItemsRepository.GetItems
Return View(i)
End Function
看法
@ModelType List(Of MyApp.ItemDetails)
@Using Html.BeginForm()
Dim RowNo As Integer
For i As Integer = 0 To Model.Count - 1
RowNo = i
@Html.HiddenFor(Function(model) model(RowNo).SerialNo)
@Html.LabelFor(Function(model) model(RowNo).Description)
@Html.HiddenFor(Function(model) model(RowNo).GroupNo)
@Html.LabelFor(Function(model) model(RowNo).Price)
@Html.TextBoxFor(Function(model) model(RowNo).Quantity)
Next
End Using
注意:这是根据记忆完成的,因此可能不完全准确。
如您所见,这显示了一个项目列表。从数据库中检索项目。每个项目都有一个描述和一个组号。用户可以输入他们想要订购的每个项目的数量。
两个或多个项目可以在同一个组中。例如,可能有:第 1 组中的第 1 项、第 1 组中的第 2 项、第 2 组中的第 3 项和第 3 组中的第 4 项。
当用户单击提交时,我想验证每个组号的组合数量不超过 10。因此,在上面的示例中,如果我为第 1 项输入的数量为 7,那么第 2 项的数量必须为 3 或更少。
我可以轻松地验证这个客户端。
验证此服务器端的最佳方法是什么(在哪里以及如何)?
对于每个组号,我需要合计 Quantity 的组合值不超过 10,如果它确实显示错误。