0

MVC4 検証を実践しており、基本的なアイデアをいくつか得ています。しかし、以下のコードでエラーメッセージがどこから来たのか、メッセージを上書きする方法がわかりません

私のモデル:

[Required(ErrorMessage = "Contact number field is required.")]
        public int ContactNumber { get; set; }

フィールドを空のままにすると、

連絡先番号フィールドは必須です

しかし、文字列を入力して送信すると取得されます

「入力した文字列」の値は ContactNumber には無効です

エラーメッセージを上書きする方法は?

4

2 に答える 2

1

有効な数値に一致するこの検証をプロパティに追加します。このようにして、それをオーバーライドできます。

[Required(ErrorMessage = "Contact number field is required.")]
[RegularExpression(@"[0-9]*\.?[0-9]+", ErrorMessage = "Contact number must be a Number.")]
public int ContactNumber { get; set; }
于 2013-02-13T08:36:04.387 に答える
0

追加したエラーメッセージは「必須」属性にあったため、「必須」チェックに失敗した場合にのみ使用されます。空欄にしたとき。数値ではない場合に特定のメッセージが必要な場合は、それもチェックする属性を追加し、カスタム エラー メッセージを指定する必要があります。正規表現でそれを行う必要があります。これの良い副作用として、値が数値であることを確認するだけでなく、実際に正しい桁数の電話番号形式であることを確認するなど、ここでより詳細な確認を行う機会を利用することもできます。

于 2013-02-13T11:47:23.220 に答える