Brad Willsonには、DataAnnotationsの使い方を説明する素晴らしい記事があります。 http://bradwilson.typepad.com/blog/2009/04/dataannotations-and-aspnet-mvc.html私がしたいのは、私が使用できる利用可能な属性を拡張することです。 [PastDate(過去の日付を入力する必要があります)]または[InvoiceNumber(INVで始まりすべて002で終了)]]のようなものです。私はこれを達成するために正規表現属性を使用できることを知っています。しかし、より記述的な属性を持つことは、よりクリーンなソリューションになります。あなたはSystem.ComponentModel.DataAnnotations.ValidationAttribute
から継承するクラスを作成し、このようにその属性を使用する必要がasp.netでMVAのDataAnnotations属性を拡張する
0
A
答えて
1
:
public class yourModel {
[CustomValidation(typeof(yourClass), "yourMethod")]
public int yourProperty { get; set; }
}
はそれを試していないが、それは動作するはずです。
0
私は私のプロジェクトでは、これらのいくつかを持っている - いくつかは、まだ正規表現を使用しますが、彼らは一箇所にのみだ少なくともこの方法:
public class TelephoneAttribute : RegularExpressionAttribute
{
public TelephoneAttribute()
: base(@"^\(?(\d{3}\)?)((-|)?\d{3})(-?\d{4})$") { }
}
そして、もっと何あなたの例のように:
public class MinimumDateAttribute : RangeAttribute
{
public MinimumDateAttribute(string MinimumDate)
: base(typeof(DateTime), MinimumDate, DateTime.MaxValue.ToShortDateString()) { }
}
関連する問題
- 1. AzureAd ClaimsPrincipalで拡張属性1の拡張属性15を読み込む
- 2. PHP-APIでsphinx MVA属性を更新するには?
- 3. jQuery Ajaxの検証とDataAnnotationsの属性
- 4. xCode拡張属性の削除/ xattr
- 5. カスタム属性付き拡張WPFツールキットPropertyGrid
- 6. DataAnnotations StringLength属性MVC - 最大値なし
- 7. myUserを拡張する - 属性を作成する
- 8. 属性のメソッドを親クラスに拡張できますか?
- 9. ファイルの拡張属性を取得する方法(UNIX/C)
- 10. ユーザモデルを拡張する際の属性エラー
- 11. 新しい属性のスカラコレクションを拡張する
- 12. 拡張メソッドを使用してメソッドの属性にアクセスする
- 13. ASP.NET DropDownListを拡張する
- 14. (ASP.NET)BoundFieldを拡張する
- 15. プロパティを追加して属性を拡張する
- 16. 拡張リクエストクラスの属性が空です - Laravel
- 17. 拡張リンク属性を2017-12に追加するAnalyticsコード
- 18. ASP.NET用の拡張性の高いブログアプリケーションは何ですか?
- 19. ASP.NETリソースプロバイダの拡張
- 20. ModelState.IsValidはDataAnnotations属性に関係なく常にtrueです
- 21. Visual Studioデバッガの拡張性 - ステップを拡張する
- 22. サブクエリの使い方クエリ型のスフィンクスの複数値属性(MVA)で
- 23. ExcelのVBAを使用した.PDF(ファイル)の拡張ファイル属性
- 24. ファイルの拡張属性を書き込むswiftの例
- 25. ファイルカスタム拡張属性をサポートしていますか?
- 26. 目的C - NSAttributedString属性を拡張しますか?
- 27. 追加の属性を持つXSD拡張子
- 28. 拡張スキーマ属性を返さないPowershellのLDAP検索
- 29. デフォルトのASP.NET MVC3メンバーシップシステムを拡張する
- 30. ASP.NET MVCのHiddenForテンプレートを拡張する
はい、ValidationAttributeから派生したすべての属性が機能します。 –