無効なシリアルをポストすると、 ""(空文字列)に設定され、ModelState.isValidがfalseであると予想されますが、trueを返します。.net mvcデータ注釈モデルの状態が常に真に返る
private string _tcno { get; set; }
[Required(ErrorMessage = "Enter serial")]
[StringLength(11, MinimumLength = 11, ErrorMessage="Invalid Serial Number")]
[Column(TypeName = "nchar")]
public string TCNO
{
get { return _tcno ?? ""; }
set {
value = value ?? "";
_tcno = value.IsValidTC() ? value : "";
}
}
ここでModelState.isValidがtrueの理由で、長さ11の検証が信頼されますか?
MinimumLength属性を設定して空の値をポストしているので、model.state = trueとなっています。その値をfalseにするには、minimumlength属性を削除します。 –
コメントありがとうございますが、正しくありません – TyForHelpDude