私は次のモデルを持っています:
public class Contact
{
public Contact()
{
Name = "Your Name";
Email = "Your Email";
Message = "Your Message";
}
[Required]
[StringLength(60,MinimumLength = 3)]
public string Name { get; set; }
[Required]
[DataType(DataType.EmailAddress)]
[RegularExpression(@"\b[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b")]
public string Email { get; set; }
[Required]
[StringLength(2200, MinimumLength = 10)]
[DataType(DataType.MultilineText)]
public string Message { get; set; }
}
Message と Name の場合、(コンストラクター内の) デフォルト値は実際に検証に合格しますが、これは明らかに悪いことです。これをチェックしてコントローラーでエラーをスローできることはわかっていますが、モデルでこれらを実行する方法を見つけようとしています (それが正しい場所であると想定しているため)。