サーチ…
検証アトリビュートを使用したモデル検証
検証属性を使用して、モデル検証を簡単に構成することができます。
public class MyModel
{
public int id { get; set; }
//sets the FirstName to be required, and no longer than 100 characters
[Required]
[StringLength(100)]
public string FirstName { get; set; }
}
組み込みの属性は次のとおりです。
-
[CreditCard]
:プロパティがクレジットカード形式であることを検証します。 -
[Compare]
:モデルマッチの2つのプロパティを検証します。 -
[EmailAddress]
:電子メール形式のプロパティを検証します。 -
[Phone]
:プロパティが電話形式であることを検証します。 -
[Range]
:プロパティ値が指定された範囲内にあることを検証します。 -
[RegularExpression]
:データが指定された正規表現と一致することを検証します。 -
[Required]
:プロパティを必要とします。 -
[StringLength]
:文字列プロパティが最大長以下であることを検証します。 -
[Url]
:プロパティがURL形式であることを検証します。
カスタム属性を使用したモデルの検証
組み込みの属性でモデルデータを検証するのに十分でない場合は、ValidationAttributeから派生したクラスに検証ロジックを配置できます。この例では、奇数のみがモデルメンバーの有効な値です。
カスタム検証属性
public class OddNumberAttribute : ValidationAttribute
{
protected override ValidationResult IsValid(object value, ValidationContext validationContext)
{
try
{
var number = (int) value;
if (number % 2 == 1)
return ValidationResult.Success;
else
return new ValidationResult("Only odd numbers are valid.");
}
catch (Exception)
{
return new ValidationResult("Not a number.");
}
}
}
モデルクラス
public class MyModel
{
[OddNumber]
public int Number { get; set; }
}
Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow