簡體   English   中英

使用ASP.Net Razor頁面進行條件驗證

[英]Conditional validation using ASP.Net Razor Pages

我使用的是ASP.Net Core 2.2剃須刀頁面和Bootstrap 4,用戶在其中為每個家庭成員提供用戶信息。 使用相同的表單來添加成員和進行編輯,但是調用了不同的處理程序。 如果他們不提供電子郵件,我想顯示一個確認它的模式。 使用我當前的代碼,如果他們提供電子郵件,則可以正確提交。 沒有電子郵件時,模式顯示,但按“是”則不執行任何操作,調試控制台中也不執行任何操作。

  function submitForm() { if ($("#email").val() === "") { $('#modalNoEmail').modal(); return false; } else { document.getElementById("frm1").submit(); } } 
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <div class="container"> <div class="col-md-8 order-md-1"> <form method="post" onsubmit="return submitForm()" id="frm1"> <div class="modal" tabindex="-1" role="dialog" id="modalNoEmail"> <div class="modal-dialog" role="document"> <div class="modal-content"> <div class="modal-header"> <h5 class="modal-title"> No Email Specified</h5> <button type="button" class="close" data-dismiss="modal" aria-label="Close"> <span aria-hidden="true">&times;</span> </button> </div> <div class="modal-body"> <p> You have not entered an email address. Confirm proceeding without entering an email address? </p> </div> <div class="modal-footer"> @if (Model.Subscriber != null && Model.CountOfSubscribers > 0) { <button class="btn btn-primary btn-secondary btn-block button" type="submit" asp-page-handler="Edit">Yes</button> } else { <button class="btn btn-primary btn-secondary btn-block button" type="submit" asp-page-handler="Add">Yes</button> } <button type="button" class="btn btn-secondary" data-dismiss="modal">No</button> </div> </div> </div> </div> <div class="row"> <div class="col-md-6 mb-3"> <label>First name</label> <input asp-for="Subscriber.FirstName" class="form-control"> <span asp-validation-for="Subscriber.FirstName" class="text-danger"></span> </div> <div class="col-md-6 mb-3"> <label>Last name</label> <input asp-for="Subscriber.LastName" class="form-control"> <span asp-validation-for="Subscriber.LastName" class="text-danger"></span> </div> </div> <div class="row"> <div class="col-md-6 mb-3"> <label>Email</label> <input asp-for="Subscriber.Email" class="form-control" id="email"> <span asp-validation-for="Subscriber.Email" class="text-danger"></span> </div> </div> <div class="row"> <div class="col-md-6"> @if (Model.Subscriber != null && Model.CountOfSubscribers > 0) { <button class="btn btn-primary btn-lg btn-block button" type="submit" asp-page-handler="Edit">Save</button> } else { <button class="btn btn-primary btn-lg btn-block button" type="submit" asp-page-handler="Add">Add Member</button> } </div> </div> </form> </div> </div> </div> 

也許我讀錯了,但看來您循環無窮。 您將提交回處理程序,在該處理程序中,您的電子郵件仍然是一個空字符串,因此它將再次調用模式窗口。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM