Как предотвратить проверку формы на стороне клиента для выбранных параметров отправки. - PullRequest
0 голосов
/ 12 ноября 2018

Для калибровки машины У меня есть большая форма с более чем 100 полями и несколькими кнопками «Отправить», каждая из которых отправляет форму с уникальным статусом, который идентифицирует статус калибровки для этой машины.Как показано ниже

@using (Ajax.BeginForm("PostAssetCalcert", "SiteReport", null, new AjaxOptions { OnBegin="return ValidateForm()", OnSuccess = "ReloadAssetTable()", OnFailure = "ReloadAssetTable()" }))
{
    <input type="submit" name="done" value="Done" class="btn-sm btn-warning" hidden="hidden" />
    <input type="submit" name="save" value="Save for Now" class="btn-sm btn-info" />
    <input type="submit" name="scrap" value="Scrap" class="btn-sm btn-danger" />
    <input type="submit" name="removeAdjustment" value="Remove Adjustment" class="btn-sm btn-danger" />
    ..
    .. Other form fields

Запуск проверки путем вызова метода ValidateForm() внутри AjaxOptions {OnBegin = "return ValidateForm()"} атрибута OnBegin.

Мой вопрос: как можно избежать проверки на стороне клиента для некоторых отправок?поскольку нет необходимости проверять, когда пользователь выбирает 'Save for Now', 'Scrap' или 'Remove', выбор опции 'Done' должен выполнить проверку.

В моем методе контроллера я просто читаю переменные формычтобы получить выбор пользователя для выбранной опции, например:

if (Request.Form["done"] != null){
    // actions for 'Done' status 
}if (Request.Form["scrap"] != null){
    // asctions for 'Scrap' status 
}

Можно ли прочитать переменную формы внутри JS validateForm()?если так, я мог бы добавить проверку, используя это, чтобы избежать дальнейшей проверки и вернуть true.

...