/var/www/vhosts/ihelp.ro/httpdocs/webroot.dev/js/import
Edit: /var/www/vhosts/ihelp.ro/httpdocs/webroot.dev/js/import/AjaxForm.js (3131B)
import swal from "sweetalert";
// -------------------------------------
// Ajax Form Validation > removeErrors
// -------------------------------------
var removeErrors = ($form) => {
$form.find(".error-message").remove();
$form.find(".is-error").removeClass("is-error");
};
// -------------------------------------
// Ajax Form Validation > based on Cake
// -------------------------------------
var validateAjaxForm = ($form, response) => {
let errors = response.errors;
let model = response.model;
// We remove all errors and we remove all messages
$form.find(".is-error").removeClass("is-error");
$form.find(".error-message").remove();
// We go through all errors
Object.keys(errors).forEach(function (error) {
let elementId = (model.toLowerCase() + "-" + error).replace(/_/g, "-");
let $element = $("#" + elementId);
console.log(elementId);
$element.parents(".form-group").addClass("is-error");
Object.keys(errors[error]).forEach(function (message) {
$element.after(
"
" +
errors[error][message] +
"
"
);
});
});
};
$(document).ready(function () {
// -------------------------------------
// Send a message through ajax
// -------------------------------------
$("[data-action='ajaxValidate']").submit(function (e) {
e.preventDefault();
var $button = $(this).find("button");
var $form = $(this);
$button.fadeOut("fast");
$.ajax({
url: $form.attr("action"),
type: "post",
data: $form.serialize(),
success: function (response) {
if (response.response.status == 200) {
removeErrors($form);
$form[0].reset();
swal({
title: "Succes",
text:
"Am primit caracteristicile pe care le cauți la următoarea ta mașină. Luăm legătura cu tine curând!",
icon: "success",
button: {
text: "Close",
className: "btn btn-primary",
closeModal: true,
},
});
$button.fadeIn("fast");
$element.fadeIn("fast");
} else {
swal({
title: "Eroare",
text:
"Se pare că ai omis câteva câmpuri. Te rugăm să încerci din nou.",
icon: "error",
button: {
text: "Close",
className: "btn btn-primary",
closeModal: true,
},
});
$button.fadeIn("fast");
validateAjaxForm($form, response.response);
}
},
});
});
});