Как проверить с помощью 2 кнопок в одной форме в ASP.NET MVC? - PullRequest
0 голосов
/ 25 июня 2019

У меня есть форма с 2 кнопками, и они в одном действии, но когда нажата кнопка Confirm, проверка не требуется, просто нажмите и перейдите к действию, но когда кнопка Rejectнажата, затем необходимо заполнить текстовое поле Comment.

Это мое мнение:

@if (Model.signingFlowViewModel.signingFlows.Count(s => s.SigningUser == User.Identity.Name && s.Status == "1") > 0)
{
   using (Html.BeginForm("OvertimeSigningAsync", "Signing", FormMethod.Post,
      new { onsubmit = "return confirm('Do you really want to submit the form?');" }))
   {
<div class="row" style="margin-top:10px;">
    <div class="col-sm-3">
        <div class="form-group">
            <input type="submit"
                   name="Sign" value="Confirm"
                   class="form-control btn btn-primary"
                   style="margin-bottom: 5px" />
            <br>
            <input type="submit"
                   name="Sign" value="Reject"
                   class="form-control btn btn-danger"/>
        </div>
    </div>
    <div class="col-sm-9">
        <div class="form-group">
            @Html.TextBoxFor(m => m.DocNo, new { @class = "hidden" })
            @Html.TextBoxFor(m => m.FlowNo, new { @class = "hidden" })
            @Html.TextBoxFor(m => m.Plant, new { @class = "hidden" })
            @Html.TextAreaFor(m => m.Comment, new { @class = "form-control", @required  = "required" })
            @Html.TextBoxFor(m => m.NewDocNo, new { @class = "hidden" })
        </div>
    </div>
</div>
   }
}

И это действие

public async Task<ActionResult> OvertimeSigningAsync([Bind(Include = "Plant,FlowNo,DocNo,Comment,NewDocNo")] 
OvertimeSigningViewModel overtimeSigningViewModel, string Sign)
{
    bool result = false;
    if (ModelState.IsValid && !String.IsNullOrWhiteSpace(Sign))
    {
        result = eISRepository.EditPurchaseRequest(
                    overtimeSigningViewModel.Plant,
                    overtimeSigningViewModel.FlowNo,
                    overtimeSigningViewModel.DocNo,
                    User.Identity.Name, Sign,
                    overtimeSigningViewModel.Comment, 
                    overtimeSigningViewModel.NewDocNo);
    }
}

Теперь, как можноЯ проверяю текстовое поле при нажатии кнопки Reject.Я просто новичок в MVC, поэтому помогите пожалуйста.Большое спасибо

1 Ответ

0 голосов
/ 25 июня 2019

Я нашел его, просто добавьте атрибут formnovalidate на кнопку Подтвердить, все в порядке

<input type="submit" name="Sign" value="Confirm" class="form-control btn btn-primary" style="margin-bottom: 5px" formnovalidate/>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...