Итак, в MVC я пытаюсь отправить форму, но даже с определенными полями, и если я дважды удалю свою кнопку отправки, она все равно пройдет.Форма, отправляющая даже с недопустимыми полями MVC razor
мой бритвой синтаксис
@Html.DropDownListFor(model => model.ID, Model.Options, new { id = "DropDown" })
мой взгляд модель
[Range(1,Int32.MaxValue)]
public Int32 ID { get; set; }
[Required]
public List<SelectListItem> Options { get; set; }
и выпадающий заполняется с использованием словаря в мой контроллер, так что каждый элемент списка имеет текст и значение
и здесь является генерируемым html
<select data-val="true" data-val-number="The field ID must be a number." data-val-range="The field ID must be between 1 and 2147483647." data-val-range-max="2147483647" data-val-range-min="1" data-val-required="The ID field is required." id="Company" name="ID">
<option selected="selected" value="0">Select</option>
<option value="10">choice1</option>
<option value="11">choice2</option>
<option value="12">choice3</option>
<option value="13">choice4</option>
</select>
Любые идеи, почему это будет подтверждено при первом щелчке, но при втором нажатии на форму отправляется без данных?
Да, это идентификатор, который необходим. Я пробовал это как с тем, что у меня есть, так и с использованием Required, а не Range, но только с помощью Required он сразу же отправит (без выбора опции), потому что он будет считать Select как допустимый вариант, потому что он имеет значение = «0». с диапазоном, в основном говорящим, что требуется, и значение должно быть между 1 и любым значением max int. –
Извините, я случайно дважды щелкнул и удалил комментарий пользователя. Он сказал, что это должен быть идентификатор, который требуется, а не Параметры. Извините, кто бы это ни был, если вы видите это –
У вас есть ClientValidationEnabled установлен в true в web.config? Дважды проверьте свои версии jQuery и jQuery Validate, чтобы убедиться, что они совместимы, и убедитесь, что они включены на странице. –