В MVC3, как контроллер может узнать результат ненавязчивой проверки? - PullRequest
1 голос
/ 21 октября 2011

Я использую 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");
        }

1 Ответ

7 голосов
/ 21 октября 2011

test ModelState.IsValid свойство, однако, если проверка на стороне клиента завершается неудачей, действие вызывать не нужно. Проверьте, действительно ли вы проверяете все свои свойства модели.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...