Как я могу выполнить проверку из формы отправки jquery?

#jquery #asp.net #asp.net-mvc-4 #validation

#jquery #asp.net #asp.net-mvc-4 #проверка

Вопрос:

я не смог включить сообщение о проверке при просмотре, потому что я использую jquery для отправки формы.

Может ли у кого-нибудь быть идея использовать проверку с помощью формы отправки jquery?

Вид

 @using (Html.BeginForm("Index", "Sample", FormMethod.Post, new{ id="frmStep1"}))
 {
 <div class="form-group">
     <label>Question 1:<span class="text-danger">*</span></label>
     <small class="text-danger">
         <i> @Html.ValidationMessageFor(model => model.answer_01)</i>
     </small>
     <div class="radio">
         <label>
             @Html.RadioButtonFor(m=>m.answer_01,"2355")Male
         </label>
     </div>
     <div class="radio">
         <label>
             @Html.RadioButtonFor(m=>m.answer_01,"2355")Male
         </label>
     </div>
  </div>
  <button class="btn btn-primary" type="button" id="btnStep1">
     <span class="fa fa-arrow-circle-right">
     </span> Save
  </button>
}
 

Скрипт

 $("#btnStep1").click(function () {

        $.ajax({
            url: "../Profile/Question",
            type: "POST",
            dataType: "json",
            data: $("form#frmStep1").serialize(),
            success: function(data) {
                alert('Ok');

            },
            fail: function(data) {
                console.log('failed to submit.');
            }
        });
    });
 

Контроллер

 [HttpPost]
public ActionResult Index(SampleViewModel model)
{
    return Json("success",JsonRequestBehavior.AllowGet);
}
 

у меня нет ни малейшей идеи включить валидатор в ViewModel для активации, когда пользователь не может ввести какой-либо текст, пожалуйста, дайте какую-нибудь идею для решения этих проблем.

Комментарии:

1. Проверки модели работают после javascriptvalidations. Если вы хотите, чтобы ваши проверки модели работали, вам нужно принять тип ввода как submit ИЛИ вам нужно проверить каждое ваше поле в Javascript перед отправкой

Ответ №1:

Вы можете указать имя своего действия и имя контроллера в форме и принять тип ввода как «отправить», как указано ниже:

  @using (Html.BeginForm("YourActionName", "YourControllerName", FormMethod.Post, new{ id="frmStep1"}))

   {
     <div class="form-group">
        <label>Question 1:<span class="text-danger">*</span></label>
        <small class="text-danger">
         <i> @Html.ValidationMessageFor(model => model.answer_01)</i>
      </small>
      <div class="radio">
       <label>
          @Html.RadioButtonFor(m=>m.answer_01,"2355")Male
        </label>
       </div>
      <div class="radio">
       <label>
          @Html.RadioButtonFor(m=>m.answer_01,"2355")Male
       </label>
      </div>
    </div>
 <input class="btn btn-primary" type="submit" value="Save" id="btnStep1" />

}