0

私はこのようなプロパティを持つビューモデルを持っています:

[RegularExpression(@"^d\+$", ErrorMessageResourceType = typeof(Resources.Validation), ErrorMessageResourceName = "NumberValidationMsg" )]
public int? Number {get; set;}

NumberValidationMsg リソースは「許可された数字のみ!」に設定されています。

しかし、フォームの Number フィールドに 'test' のようなものを入力しようとすると、ModelState は次のような内容の ErrorMessage を表示します。

このメッセージをオフにしたり、カスタマイズしたりできますか? (または、おそらく最善の解決策は、 int? を string に置き換えることです)

ありがとう !

4

1 に答える 1

1

フィールド内のテキストを受け入れたい場合は、それを文字列に変更し、ルールに従って int に変換する必要があります。

モデルが int の場合、唯一の有効な入力は int (または「int?」の場合は空) であり、正当な理由がない限り、これを防止しようとすべきではありません... さらに、私はあなたがMVC はすでに暗黙的にそのチェックを行っているため (int であるため)、正規表現全体を省略できます。

于 2010-10-19T12:41:04.813 に答える