私が持っているモデルのプロパティを検証しようとしています。このプロパティは必須ではないため、無効な MVC が無視しているように見える場合。カスタム ValidationAttribute も作成しましたが、何も機能しません。
public class NumberWang : ValidationAttribute
{
public override bool IsValid(object value)
{
if (value == null)
return true;
int g;
if (int.TryParse(value.ToString(), out g))
{
if (g >= 0)
return true;
}
return false;
}
}
public class MyModel
{
[Range(0, 999999, ErrorMessage = "category_id must be a valid number")]
[NumberWang(ErrorMessage = "That's NumberWang!")]
public int? category_id { get; set; }
/* there are other properties of course, but I've omitted them for simplicity */
public void Validate()
{
Validator.TryValidateProperty(this.category_id,
new ValidationContext(this, null, null) { MemberName = "category_id" },
this.validation_results);
}
}
値「abc」を category_id としてこのモデルに渡すと、問題なく検証されます。私は何を間違っていますか?