私はC#、MVC4 EF(データファースト)で作成されたプロジェクトを持っています。
[作成]ビューには、範囲を使用して許可された値を指定するためのいくつかの数値フィールドがあります。奇妙な理由で、私の番号は文字列として扱われ、検証が台無しになります。
たとえば、フィールド「LengthInch」を見てみましょう。データベースでは、これはintです。
私の見解では、私はコードを持っています:
@Html.EditorFor(model => model.LengthInch)
@Html.ValidationMessageFor(model => model.LengthInch)
最後に、メタデータファイル(モデル用)に次のコードがあります。
[Range(0, 11, ErrorMessage = "Value for {0} must be between {1} and {2}.")]
public Nullable<int> LengthInch { get; set; }
フィールドに0、1、10、または11と入力すると、すべてがうまくいきますが、たとえば2と入力すると、「LengthInchの値は0から11の間でなければなりません」という検証エラーが発生します。3〜9も同様です。何らかの理由で数字は文字列として扱われているようです。何か考えがある人はいますか?