Утверждение формуляров с Аяксом и jQuery

Как я могу помещать сообщение ошибки, когда form не санкционирован?

С одиноким required он показывает мне подчеркнутый Field, но я нуждаюсь в том, чтобы показать сообщение, которое он говорил бы "нет полей из-за того, что наполняют".

$(".formNuevaPersona").submit(function(e){
var datosRegistro = $(this).serialize();
var formUrl = $(this).attr("action");

    $.ajax({
        type: "POST",
        url:  formUrl,
        data: datosRegistro,
           success: function(data) {
          $(".ConsolaErrores").show("fast");
          $(".ConsolaErrores").html(data);
          $(".ConsolaErrores").delay(15000).hide("fast");          
            }
    });
});
1
задан 17.08.2017, 17:59
3 ответа

Если ты хочешь реализовать это с Jquery, podr¦-схвати добавлять класс ко всем campos и ahà - добавьте в submit, что validaci¦n в этом случае класс называются validar, если нет пустых или недействительных полей, переходят, чтобы реализовывать AJAX

$(".formNuevaPersona").submit(function(e){
  var control = true;
  var arr = $(".validar");
  if (arr.length > 0) {
    for (i = 0; i < arr.length; i++) {
      if (arr[i].value === '' || arr[i].value === null) {
          alert("El campo '"+  arr[i].id + "' no puede estar vacio"); //Si quieres que imprima en específico que campo no puede dejar vacío

          alert("Faltan campos por llenar"); //o el mensaje para todos

          control = false;
          break;
      }
    }
  }
  if (control) {
     var datosRegistro = $(this).serialize();
     var formUrl = $(this).attr("action");

     $.ajax({
       type: "POST",
       url:  formUrl,
       data: datosRegistro,
       success: function(data) {
         $(".ConsolaErrores").show("fast");
         $(".ConsolaErrores").html(data);
         $(".ConsolaErrores").delay(15000).hide("fast");          
       }
     });
  }
});
1
ответ дан 24.11.2019, 06:43

Podr¦-схвати пробовать санкционировать перед тем, как делать petici¦n AJAX

$.ajax({
    type: "POST",
    url:  formUrl,
    data: datosRegistro,
       success: function(data) {
      $(".ConsolaErrores").show("fast");
      $(".ConsolaErrores").html(data);
      $(".ConsolaErrores").delay(15000).hide("fast");  
      if(data.mensaje = "error"){
          alert("Faltan campos");
          }else{
          alert("Correcto");
          }
        }
   });     
0
ответ дан 24.11.2019, 06:43
  • 1
    Дело в том, что это более 10 полей, которые обязательные, и все их я посылаю из-за serialize () –  Jeisson Hernandez 16.08.2017, 00:01
  • 2
    Так как ты можешь санкционировать десять полей перед тем, как посылать их. Или ты можешь санкционировать их стороны сервера и в твоем ответе Аякс посылать có я говорю ошибки, которую открывал бы div, который ты говоришь. Я изменил мой ответ. –  M. Gress 16.08.2017, 00:05
  • 3
    Если это ú nica solució n как rá попросите из-за него момент, спасибо –  Jeisson Hernandez 16.08.2017, 00:10

Ты можешь делать validaci¦n перед тем, как посылать формуляр. И так как у тебя были все твои inputs с данными, тогда он, когда ты можешь посылать сохранять в твоем ajax.

function validaGuardado() {
                var state = true;
                $(".formNuevaPersona").forEach(if (!validarCampo(this.item) { state = false; })
                if (state) {
                    Guardar();
                } else {
                    AlertaGeneral("Mensaje", "Llene tododos los datos para guardar");
                }
            }
            
            function validarCampo(_this) {
            var r = false;
            if (_this.val() == '' || _this.val() == undefined) {
                if (!_this.hasClass("errorClass")) {
                    _this.addClass("errorClass")
                }
                r = false;
            }
            else {
                if (_this.hasClass("errorClass")) {
                    _this.removeClass("errorClass")
                }
                r = true;
            }
            return r;
        }
0
ответ дан 24.11.2019, 06:43