Флажок снят, вызывает недопустимую форму клиентской стороны при отправке с ASP. net MVC и 2 представлениями в модели. - PullRequest
0 голосов
/ 07 января 2020

У меня есть несколько флажков в форме, которая загружается как модель в модель представления. Все работает, как и планировалось, если флажок установлен, но вызывает ошибку проверки на стороне клиента, если я оставляю ее без проверки. Я хочу, чтобы пользователь мог выбрать НЕ проверять это. У меня есть небольшая версия, которую легко переварить. Существует скрытый ввод со значением 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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...