#属性一覧
属性名(アノテーション) | 説明 |
---|---|
Key | 主キー制約(プライマリーキー) |
ForeignKey | 外部キー |
DisplayName | Html.LabelFor などのヘルパー利用時に自動代入 |
Required | Not Null制約 |
StringLength(val) | 最大文字制約 |
MaxLength(val) | 最大文字制約 |
MinLength(val) | 最小文字制約 |
Range(val, val) | 数値範囲検証(min, max) |
EmailAddress | メールアドレス検証 |
Phone | 電話番号検証 |
Url | URL検証 |
FileExtensions | ファイル拡張子検証 |
Compare(other) | 比較検証(プロパティとotherの等しいか) |
TimeStamp | タイプスタンプ(同時アクセス時の競合対策) |
RegularExpression(pattern) | 指定した正規表現検証 |
Index | インデックス(DB読み込み高速化、しかし書き込みは遅くなる) |
NotMapped | データベースにマップしない |
Table | マッピングするテーブルの名前指定 |
Column | 列の属性 |
ComplexType | 複合型を定義 |
#Key
主キーなので、主にIdなどにつける(ユーザーモデルのIDならUserIdとか)
[Key]
public int Id { get; set; }
#ForeignKey
外部キー
coming soon
#DisplayName
@Html.DisplayNameなどで表示するラベルを付ける
[DisplayName("ユーザー名")]
public string Name { get; set; }
#Required
入力を必須にする。フォームが空のまま送信されると弾かれます。
[Required(ErrorMessage = "名前は必須入力です")]
public string Name { get; set; }
#StringLength(val)
入力最大文字を設定します。
[StringLength(20, ErrorMessage = "自己紹介は100文字以内でお願いします")]
public string Memo { get; set; }
#MaxLength(val)
入力最大文字を設定します。
[MaxLength(20, ErrorMessage = "名前は20文字以内でお願いします")]
public string Name { get; set; }
#MinLength(val)
入力最少文字を設定します。
[MinLength(4, ErrorMessage = "名前は4文字以上でお願いします")]
public string Name { get; set; }
#Range(val, val)
入力数字の幅を設定します。
[Range(20, 100, ErrorMessage = "年齢は20~100歳の幅でお願いします")]
public int age { get; set; }
#EmailAddress
入力文字がメールアドレスの形式か判定する
[EmailAddress(ErrorMessage = "メールアドレスの形式で入力してください")]
public string Email { get; set; }
#Phone
入力文字が電話番号の形式か判定する
[Phone(ErrorMessage = "電話番号の形式で入力してください")]
public string PhoneNumber { get; set; }
#Url
入力文字がUrlの形式か判定する
[Url(ErrorMessage = "Urlの形式で入力してください")]
public string url { get; set; }
#FileExtensions
入力文字がUrlの形式か判定する
[FileExtensions(ErrorMessage = "こちらのファイル拡張子は利用できません")]
public string FileName { get; set; }
#Compare(other)
coming soon
#TimeStamp
coming soon
#RegularExpression(pattern)
正規表現で指定した文字にて、制限をかける
// 半角英字のみ
[RegularExpression(@"[a-zA-Z]+", ErrorMessage = "半角英字のみ入力できます")]
public string AccountName { get; set; }
// 半角数字
[RegularExpression(@"[0-9]+", ErrorMessage = "半角数字のみ入力できます")]
public string AccountName { get; set; }
// 半角記号
[RegularExpression(@"[ -/:-@\[-\`\{-\~]+", ErrorMessage = "半角記号のみ入力できます")]
public string AccountName { get; set; }
// 半角英数字
[RegularExpression(@"[a-zA-Z0-9]+", ErrorMessage = "半角英数字のみ入力できます")]
public string AccountName { get; set; }
// 半角英数字記号
[RegularExpression(@"[a-zA-Z0-9 -/:-@\[-\`\{-\~]+", ErrorMessage = "半角英数字記号のみ入力できます")]
public string AccountName { get; set; }
// 半角カタカナ
[RegularExpression(@"[。-゚+]+", ErrorMessage = "半角カタカナのみ入力できます")]
public string AccountName { get; set; }
// 全角カタカナ
[RegularExpression(@"[ァ-ヶ]+", ErrorMessage = "全角カタカナのみ入力できます")]
public string AccountName { get; set; }
// 郵便番号
[RegularExpression(@"\d{3}-\d{4}", ErrorMessage = "郵便番号の形式で入力してください")]
public string AccountName { get; set; }
#Index
[Index]
public string Name { get; set; }
#NotMapped
coming soon
#Table
coming soon
#Column
coming soon
#ComplexType
coming soon
参考