これに似た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
注: これはメモリから行われるため、完全に正確ではない可能性があります。
ご覧のとおり、これによりアイテムのリストが表示されます。項目はデータベースから取得されます。各アイテムには説明とグループ番号があります。ユーザーは、注文したい各アイテムの数を入力できます。
2 つ以上のアイテムを同じグループに含めることができます。たとえば、グループ 1 にアイテム 1、グループ 1 にアイテム 2、グループ 2 にアイテム 3、グループ 3 にアイテム 4 があるとします。
ユーザーが送信をクリックすると、各グループ番号の合計数量が 10 を超えないことを検証したいと思います。したがって、上記の例で、品目 1 の数量を 7 と入力すると、品目 2 の数量は 3 以下である必要があります。
これはクライアント側で簡単に検証できます。
このサーバー側を検証するための最良の方法は何ですか (どこで、どのように)?
グループ番号ごとに Quantity の合計値が 10 を超えないように合計する必要があり、そうであればエラーが表示されます。