Я новичок в ASP.NET MVC и пытаюсь проверить текстовое поле. В принципе, если пользователь вводит менее 2 или не номер, как я могу получить ошибку для отображения. Вот tutorial Я стараюсь следовать.Как проверить текстовые поля в ASP.NET MVC
У меня есть код ниже.
Создать вид:
<%= Html.ValidationSummary()%>
<%= using (HtmlBeginForm()){%>
<div class="half-col">
<label for="Amount">Amount:</label>
<%= Html.TextBox("Amount")%>
<%= Html.ValidationMessage("Amount", "*")%>
</div>
Создание контроллера:
[AcceptVerbs (HttpVerbs.Post)]
public ActionResult Create([Bind(Exclude ="ID")] Charity productToCreate)
{
//Validation
if (productToCreate.Amount < 2)
ModelState.AddModelError("Amount, Greater than 2 please");
return View(db.Donations.OrderByDescending(x => x.ID).Take(5).ToList()); //Display 5 recent records from table
}
Модель:
public class Charity
{
public int ID { get; set; }
public string DisplayName { get; set; }
public DateTime Date { get; set; }
public Double Amount { get; set; }
public Double TaxBonus { get; set; }
public String Comment { get; set; }
}
Ошибка:
CS1501 No overload for method 'AddModelError' takes 1 CharitySite
В MVC вы не проверяете текстовое поле, вы проверяете модель. Текстовые поля связаны с свойствами модели, и если эти свойства модели не проверяются, отображается ошибка, связанная с текстовым полем для этого свойства. –
Почему вы следуете учебнику с 2009 года? Если вы хотите узнать asp.net MVC, узнайте последнюю версию. – ataravati