У меня есть несколько флажков в форме, которая загружается как модель в модель представления. Все работает, как и планировалось, если флажок установлен, но вызывает ошибку проверки на стороне клиента, если я оставляю ее без проверки. Я хочу, чтобы пользователь мог выбрать НЕ проверять это. У меня есть небольшая версия, которую легко переварить. Существует скрытый ввод со значением false, который должен помочь, если форма не отправляется, если не выполнено действие / снят флажок, но я не могу заставить его отправлять, когда в модели представления более одной модели. Есть ли хитрость для отправки назад с флажками и несколькими моделями в представлении? Я просто пропускаю параметр для флажка? У меня @ Html .Editor для работы на многих страницах, это код скаффолда, однако я пробовал @ Html .CheckBox и @ Html .CheckBoxFor и все тот же результат. Клиентская сторона недействительна и не позволит отправить форму. Я не знаю всего, и я вижу, что у атрибута dat-val-required есть сообщение, я точно не знаю, как это происходит, но мне нужно, чтобы оно не требовалось. Большое спасибо за любую помощь, которую вы можете предложить!
public partial class Application
{
public Boolean Deny_Insufficient_Prep { get; set; }
}
public class PageBuilder
{
public Boolean Deny_Insufficient_Prep { get; set; }
}
public class ApplicationScoringViewModel
{
// Collection of input configurations to include on a given page
public PageBuilder PageBuilder { get; set; }
// Model class that knows all fields that can be chosen
public Application Application { get; set; }
}
public ActionResult RecordApplicationData(int id, int appId)
{
ApplicationScoringViewModel appVm = new ApplicationScoringViewModel
{
Application = db.Application.Find(id),
PageBuilder = db.PageBuilder.Find(appId),
};
return View(appVm)
}
@model ProjectNamespace.Models.ViewModels.ApplicationScoringViewModel
@using (Html.BeginForm())
{
@Html.EditorFor(model => model.Application.Deny_Insufficient_Prep, new { htmlAttributes = new { @class = "form-control ignore" } })
@Html.ValidationMessageFor(model => model.Application.Deny_Insufficient_Prep, "", new { @class = "text-danger" })
}
Оказывает:
<form action="/RecordApplicationData?id=123&appId=456" method="post">
<input checked="checked" class="form-control ignore check-box" data-val="true" data-val-required="The Unsatisfactory scholarship field is required." id="Application_Deny_Insufficient_Prep" name="Application.Deny_Insufficient_Prep" type="checkbox" value="true" />
<input name="Application.Deny_Insufficient_Prep" type="hidden" value="false" />
<span class="field-validation-valid text-danger" data-valmsg-for="Application.Deny_Insufficient_Prep" data-valmsg-replace="true"></span>
<input type="submit" id="submit" value="Save Score" class="btn btn-primary" />
</form>