سلام ... راههای مختلفی برای اعتبارسنجی وجود داره که راه ساده ی اون ModelState هست و اضافه کردن ارور با استفاده از AddModelError داخل اکشن متود مربوطه ...
راه پیشرفته => نوشتن اعتبارسنج سفارشی :
ابتدا کلاسی را پیاده سازی کنید که از کلاس ValidationAttribute ارث بری داشته باشد و متود IsValid آن را override کنید :
طبق درخواست شما :
public class NotZeroAttribute : ValidationAttribute
{
public NotZeroAttribute()
{
ErrorMessage = "Please enter your input expect zero";
}
public override bool IsValid(object value)
{
if(value.ToString() == "0")
return false;
return true;
}
}
و مانند صفت Required میتونید استفاده کنید :
public class Person
{
[NotZero(ErrorMessage = "صفر وارد نکنید")]
[Required(ErrorMessage = "نام را وارد کنید")]
public string Name { get; set; }
public int Age { get; set; }
}
اکشن های مربوطه :
[HttpGet]
public ActionResult CreatePerson()
{
return View(new Person());
}
[HttpPost]
public ActionResult CreatePerson(Person person)
{
if(ModelState.IsValid)
{
return RedirectToAction("Index");
}
return View();
}
موفق باشید ...