Подтвердить что ты не робот

Установите требуемый атрибут в Html.Textbox

Я ищу для создания текстового окна в стиле Bootstrap, в частности, на основе точного примера ниже:

<input class="span3" type="email" required>

Вот что я до сих пор:

@Html.TextBox("CustomerEmail", null, new { @class = "input-xlarge", type = "email", required = "required" })

Однако required = "required" явно не возвращает только required.

Итак, мой вопрос: есть ли способ заставить его возвращать требуемое, как в первом примере выше, при использовании Html.Textbox?

4b9b3361

Ответ 1

Я думаю, вы должны использовать это как

 @Html.TextBoxFor(model => model.Name, new { @class = "text", type = "email", required = "required" })

Я думаю, это поможет вам.

Ответ 2

Try

new { required = string.Empty}

В стороне, согласно документам W3C, required является Boolean attribute, и я цитирую:

Наличие логического атрибута для элемента представляет истинное значение, а отсутствие атрибута представляет ложное значение. Если атрибут присутствует, его значение должно быть либо пустой строкой, либо значением, которое не соответствует значению ASCII для канонического имени атрибута, без начального или конечного пробела.

Поэтому

required
required="required"
required=""

все означает одно и то же.

Ответ 3

Кажется, вы применили в текстовом поле другой класс: input-xlarge, тогда как в нужной разметке он называется span3.

Итак:

@Html.TextBox(
    "CustomerEmail", 
    null, 
    new { 
        @class = "span3", 
        type = "email", 
        required = "required" 
    }
)

Что касается требуемой части, то правильный синтаксис здесь required="required", иначе вы просто получите разбитый HTML.

Ответ 4

Я заметил, что вы также можете использовать.

required="true"

Интересно, что вы получаете предупреждение в Visual Studio 2015 независимо от того. Интересно, возникает ли проблема с необходимостью обновления.

Предупреждение:

Severity    Code    Description Project File    Line    Suppression State
Message     Validation (ASP.Net): Attribute 'required' is not a valid attribute of element 'TextBox'.