Я использую C#
, MVC3
и VS2010
Я заметил, что, хотя проверка приводит к ложному результату, метод контроллера все еще выполняется. Это делает проверку бесполезной на стороне сервера. Если нет способа получить результат.
---- РЕДАКТИРОВАТЬ -----
Вот как я это использую. Это сделано правильно? По крайней мере, сообщения проверки отображаются, и текстовое поле становится красным.
Модель:
public class CategoriaModel
{
[Required(ErrorMessage="Nome é obrigatório!")]
[StringLength(10, ErrorMessage = "First Name max length is 10")]
public string Nome { get; set; }
}
Вид:
@Html.ValidationSummary(true)
<script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.min.js") %>" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js") %>" type="text/javascript"></script>
@using (Html.BeginForm("Salvar", "Test", FormMethod.Post))
{
@Html.LabelFor(m => m.Nome)
@Html.EditorFor(m => m.Nome)
@Html.ValidationMessageFor(m=>m.Nome)
<input type="submit" value="Salvar" />
}
Контроллер:
public ActionResult Salvar(CategoriaModel catModel)
{
ViewBag.StatusMessage = "Ok!";
return View("Index");
}