MIF_E31211891/public/assets/static/js/pages/parsley.js

56 lines
1.7 KiB
JavaScript

$.extend(window.Parsley.options, {
focus: "first",
excluded:
"input[type=button], input[type=submit], input[type=reset], .search, .ignore",
triggerAfterFailure: "change blur",
errorsContainer: function (element) {},
trigger: "change",
successClass: "is-valid",
errorClass: "is-invalid",
classHandler: function (el) {
return el.$element.closest(".form-group")
},
errorsContainer: function (el) {
return el.$element.closest(".form-group")
},
errorsWrapper: '<div class="parsley-error"></div>',
errorTemplate: "<span></span>",
})
Parsley.on("field:validated", function (el) {
var elNode = $(el)[0]
if (elNode && !elNode.isValid()) {
var rqeuiredValResult = elNode.validationResult.filter(function (vr) {
return vr.assert.name === "required"
})
if (rqeuiredValResult.length > 0) {
var fieldNode = $(elNode.element)
var formGroupNode = fieldNode.closest(".form-group")
var lblNode = formGroupNode.find(".form-label:first")
if (lblNode.length > 0) {
// change default error message to include field label
var errorNode = formGroupNode.find(
"div.parsley-error span[class*=parsley-]"
)
if (errorNode.length > 0) {
var lblText = lblNode.text()
if (lblText) {
errorNode.html(lblText + " is required.")
}
}
}
}
}
})
Parsley.addValidator("restrictedCity", {
requirementType: "string",
validateString: function (value, requirement) {
value = (value || "").trim()
return value === "" || value.toLowerCase() === requirement.toLowerCase()
},
messages: {
en: 'You have to live in <a href="https://www.google.com/maps/place/Jakarta">Jakarta</a>.',
},
})