を削除します独自のデフォルトエラーメッセージも表示されます。 [StringLength(9)]
を削除すると、2つの異なるメッセージの問題は解決しますが、このフィルタはデータ型の最大サイズについてSQLに貴重な情報を提供すると仮定します。他の方法はありますか?おかげで、MVCのDataAnnotationsは、私はビューモデルのフィールドを次したエラーメッセージ
1
A
答えて
1
変更はStringLengthのそうのように、空白のエラーメッセージが含まれるように属性:
[StringLength(9, ErrorMessage = "")]
2
あなたがStringLength
を削除し、唯一持っている場合:
[Required]
[RegularExpression(@"\d{9}", ErrorMessageResourceName = "Number_Format", ErrorMessageResourceType = typeof(MyTypeOfResource))]
public string Number{ get; set; }
あなたは良いことがあります。 RequiredAttribute
はプロパティが設定されていることを確認し、RegularExpressionAttribute
はすべての数字である9文字の文字列であることを検証します。
編集:SQLへの貴重な情報を提供してフィルタを想定しに関するコメントについて
が...いや、これを行うためのものではないです。 DataAnnotationsは、クライアント層とプレゼンテーション層の検証の間にギャップを埋めるためのものです。 MVCは内部でDataAnnotationsを使用してViewModelを検証しますが、ViewModelは必ずしもドメインモデルとはみなされません(読んではいけません)。 ViewModelは、ドメインモデルが通常はデータを表している間に、ユーザーに表示したいもののモデルです。
私はMVA 3のDataAnnotationsと、フレームワークがクライアントサイドで目立たないJavaScript検証にどのように変わったのかを少し前に書きました。それは間違いなくチェックアウトする価値があります。
関連する問題