ここに座って、ASP MVC3の検証の問題で私の頭を傷つけています。MVC3いくつかのフィールドは有効ではありません。
何とか私はフィールドQuantityを検証することができますが、フィールドOrderNumberは検証されません。私はそれを空のままにして、まだそれを受け入れます。私はそれにも他の制限を加えようとしましたが(最大長や最小長など)、同じ結果です。何も受け付けません。
また、 'TextBoxFor'を 'EditorFor'に変更しようとしましたが、同じ結果です。
一方、数量は私が望むように動作します。整数を入力する必要があり、空白にすることはできません。うまくいけば、
あなたのいくつかは、私がここで間違ってやっている:)ここ
見ることができるようになりますが、私のモデルである:
public class Order
{
[Required(ErrorMessage="Insert Ordernumber (6-digits)")]
public string OrderNumber { get; set; }
[Required]
public string Partnumber { get; set; }
[Required]
public long Quantity { get; set; }
public Order()
{
}
}
そして、ここに私の見解である:
model POWeb.Models.AddModel
@using(Html.BeginForm( "Add"、 "Home"、FormMethod.Post)) {
//Create table
<table>
<tr>
<td>Select Partnumber to produce</td>
<td>@Html.DropDownListFor(model => model.SelectedPartNumber, Model.PartNumbers)</td>
</tr>
<tr>
<td>Enter PO number</td>
<td>@Html.TextBoxFor(model => model.OrderNumber)@Html.ValidationMessageFor(model => model.OrderNumber)</td>
</tr>
<tr>
<td>Quantity</td>
<td>@Html.TextBoxFor(model => model.Quantity)@Html.ValidationMessageFor(model => model.Quantity)</td>
</tr>
<tr>
<td colspan="2">
<button type="submit" name="SubmitButton">Add</button>
</td>
</tr>
</table>
}
あなたは絶対に正しいです。 モデルとして 'Order'を使用するように変更しましたが、今では機能しています(不要なAddModelを削除しました)。それはルーキーミスでした。何度か余分な目をするのはニース。あなたの助けをありがとう:) – AndersLindas
@AndersLindasようこそ – archil