Аннотации данных, не включая атрибуты данных на элементах формы - PullRequest
0 голосов
/ 15 октября 2011

Я, должно быть, здесь упускаю что-то совершенно очевидное.Я только начал с чистого проекта - MVC 3 / Razor - и пытаюсь настроить ненавязчивую проверку JavaScript.Все, что я могу найти, говорит, что мне просто нужно добавить аннотации данных в мою модель и установить для UnobtrusiveJavaScriptEnabled значение true в web.config, и все должно работать.У меня проблема в том, что когда я смотрю и отображаю источник, мое поле ввода даже не имеет свойства data-val.Вот что у меня есть:

public class PersonModel
{
    [Required]
    public string FirstName { get; set; }

    [Required]
    public string LastName { get; set; }
}

И в контроллере:

    public ActionResult Index()
    {
        return View(new Models.PersonModel());
    }

И в представлении:

@model ValidationTest.Models.PersonModel
...
@Html.EditorFor(m => m.FirstName)

Я ожидаю увидетьотображен входной тег, включающий атрибут data-val, но вместо этого я вижу только:

<input class="text-box single-line" id="FirstName" name="FirstName" type="text" value="">

Я где-то пропустил простую настройку?

1 Ответ

4 голосов
/ 15 октября 2011

В соответствии с реализацией:
Отображать атрибуты, только если включена ненавязчивая проверка на стороне клиента, и только в том случае, если мы никогда не выполняли проверку для поля с этим именем в этой форме.Кроме того, если нет контекста формы, то мы не можем отобразить атрибуты (нам не нужно их прикреплять).

Так что я думаю, вам нужно поместить EditorFor внутри формы

@using (Html.BeginForm())
{
    @Html.EditorFor(m => m.FirstName)
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...