ASP.NET MVC いろんな属性 アノテーション 2021.05.19 WED

ASP.NET MVC いろんな属性 アノテーション
目次

便利な属性

モデルでよく使う属性をまとめてみました。
随時更新します!

元気でーへんわー

梅雨ですしね!

主キー(プライマリーキー)

[Key]
public string Name { get; set; }

ユニーク属性と重複チェック

重複チェックの仕組みを作ってあげる必要があります。

[Index(IsUnique = true)]
[Remote("CheckURL", "Checks", ErrorMessage = "このURLは既に使用されています。")]
public string Name { get; set; }

LabelForのヘルパーに代入

[DisplayName("お名前")]
public string Name { get; set; }

データベースにマッピングしない

[NotMapped]
public string Name { get; set; }

正規表現でのチェック

[RegularExpression(@"[A-Za-z0-9-_]+", ErrorMessage = "入力できるのは半角英数字と_-のみです。")]
public string Name { get; set; }

必須(Not Null)+エラーメッセージ

{0}にはDisplayNameの値が入ります。

[Required(ErrorMessage = "{0}は必須項目です。")]
public string Name { get; set; }

HTML許可

HTMLタグがあると不正なリクエスト文字列として標準で弾かれるので、HTMLをフォームから入力したい場合はこれを入れます。

[AllowHtml]
public string Name { get; set; }

Column名や、タイプ指定

異なる名前で列名を付けたい場合など。

[Column("mach_id")]
public int Machd { get; set; }

[Column(TypeName="Date")]
public DateTime WriteDate { get; set; }

データタイプ

[DataType(DataType.MultilineText)] //View生成時に、テキストボックスになります。
[DataType(DataType.Password)] //View生成時に、パスワードになります。
public string Name { get; set; }

各検証

[EmailAddress] //Emailチェック
[StringLength(100, ErrorMessage = "{0} の長さは {2} 文字以上である必要があります。", MinimumLength = 6)]
public string Name { get; set; }