web-dev-qa-db-ja.com

整数値の必須属性

Idプロパティを持つビューモデルがあります

[Required]
public int Id { get; set; }

しかし、この属性は文字列プロパティに対してのみ機能すると思います。

Idが設定されていない場合、Idの値は0であり、モデルは有効です。

Intプロパティの値が設定されていない場合、モデルが無効になることを強制するにはどうすればよいですか?

57
user256034

タイプを Nullable<int> (ショートカットint?)に変更して、null値を許可します。

45

Range属性を使用します。

最小値を1に、最大値をint.MaxValueに設定します

[Range(1, int.MaxValue, ErrorMessage = "Value for {0} must be between {1} and {2}.")]
76
Lee Smith