{"version":3,"sources":["webpack:///./node_modules/jquery-validation/dist/jquery.validate.js","webpack:///./app/javascript/packs/new_volunteer_page.js"],"names":["_typeof","Symbol","iterator","obj","constructor","prototype","$","extend","fn","validate","options","this","length","validator","data","attr","settings","onsubmit","on","event","submitButton","currentTarget","hasClass","cancelSubmit","undefined","handle","hidden","result","submitHandler","formSubmitted","name","val","appendTo","currentForm","debug","call","remove","preventDefault","form","pendingRequest","focusInvalid","window","console","warn","valid","errorList","is","each","element","concat","rules","command","argument","staticRules","existingRules","param","filtered","isContentEditable","closest","normalizeRule","messages","split","index","method","normalizeRules","classRules","attributeRules","dataRules","required","remote","called","trim","str","replace","expr","pseudos","blank","a","filled","unchecked","prop","defaults","init","format","source","params","arguments","args","makeArray","unshift","apply","Array","slice","i","n","RegExp","groups","errorClass","pendingClass","validClass","errorElement","focusCleanup","errorContainer","errorLabelContainer","ignore","ignoreTitle","onfocusin","lastActive","unhighlight","hideThese","errorsFor","onfocusout","checkable","submitted","optional","onkeyup","which","elementValue","inArray","keyCode","invalid","onclick","parentNode","highlight","type","findByName","addClass","removeClass","setDefaults","email","url","date","dateISO","number","digits","equalTo","maxlength","minlength","rangelength","range","max","min","step","autoCreateRanges","labelContainer","errorContext","containers","add","valueCache","pending","reset","delegate","eventType","key","value","invalidHandler","checkForm","errorMap","triggerHandler","showErrors","prepareForm","elements","currentElements","check","_element","rs","group","cleanElement","clean","checkElement","validationTargetFor","v","prepareElement","testgroup","push","numberOfInvalids","toHide","errors","map","message","successList","grep","defaultShowErrors","resetForm","hideErrors","removeData","removeAttr","resetElements","objectLength","count","not","text","addWrapper","hide","size","findLastActive","filter","trigger","e","rulesCache","find","error","selector","join","resetInternals","toShow","idx","$element","validity","badInput","substr","lastIndexOf","rule","normalizer","rulesCount","dependencyMismatch","parameters","methods","formatAndAdd","log","id","TypeError","customDataMessage","charAt","toUpperCase","substring","toLowerCase","customMessage","m","String","findDefined","defaultMessage","title","theregex","test","toToggle","wrapper","parent","showLabel","success","validElements","show","invalidElements","place","errorID","elementID","idOrName","describedBy","html","wrap","append","errorPlacement","insertAfter","parents","escapeCssMeta","match","describer","string","getLength","nodeName","depend","dependTypes","startRequest","stopRequest","submit","previousValue","old","destroy","off","classRuleSettings","creditcard","addClassRules","className","classes","normalizeAttributeRule","Number","isNaN","getAttribute","depends","keepRule","parameter","parts","isArray","transformed","addMethod","Date","toString","decimals","errorMessage","re","decimalPlaces","num","toInt","Math","round","pow","Error","target","optionDataString","previous","originalMessage","ajax","mode","port","dataType","context","response","pendingRequests","ajaxPrefilter","_","xhr","abort","ajaxSettings","locale","document","addEventListener","getJSON","rendered","content","loadContent","recaptcha_error","serialize","Swal","fire","icon","ajaxOptions","thrownError","elem","createElement","responseText","responseJSON"],"mappings":"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","file":"js/new_volunteer_page-984f73487b582c6fc254.chunk.js","sourcesContent":["function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n/*!\r\n * jQuery Validation Plugin v1.19.3\r\n *\r\n * https://jqueryvalidation.org/\r\n *\r\n * Copyright (c) 2021 Jörn Zaefferer\r\n * Released under the MIT license\r\n */\n(function (factory) {\n if (typeof define === \"function\" && define.amd) {\n define([\"jquery\"], factory);\n } else if ((typeof module === \"undefined\" ? \"undefined\" : _typeof(module)) === \"object\" && module.exports) {\n module.exports = factory(require(\"jquery\"));\n } else {\n factory(jQuery);\n }\n})(function ($) {\n $.extend($.fn, {\n // https://jqueryvalidation.org/validate/\n validate: function validate(options) {\n // If nothing is selected, return nothing; can't chain anyway\n if (!this.length) {\n if (options && options.debug && window.console) {\n console.warn(\"Nothing selected, can't validate, returning nothing.\");\n }\n\n return;\n } // Check if a validator for this form was already created\n\n\n var validator = $.data(this[0], \"validator\");\n\n if (validator) {\n return validator;\n } // Add novalidate tag if HTML5.\n\n\n this.attr(\"novalidate\", \"novalidate\");\n validator = new $.validator(options, this[0]);\n $.data(this[0], \"validator\", validator);\n\n if (validator.settings.onsubmit) {\n this.on(\"click.validate\", \":submit\", function (event) {\n // Track the used submit button to properly handle scripted\n // submits later.\n validator.submitButton = event.currentTarget; // Allow suppressing validation by adding a cancel class to the submit button\n\n if ($(this).hasClass(\"cancel\")) {\n validator.cancelSubmit = true;\n } // Allow suppressing validation by adding the html5 formnovalidate attribute to the submit button\n\n\n if ($(this).attr(\"formnovalidate\") !== undefined) {\n validator.cancelSubmit = true;\n }\n }); // Validate the form on submit\n\n this.on(\"submit.validate\", function (event) {\n if (validator.settings.debug) {\n // Prevent form submit to be able to see console output\n event.preventDefault();\n }\n\n function handle() {\n var hidden, result; // Insert a hidden input as a replacement for the missing submit button\n // The hidden input is inserted in two cases:\n // - A user defined a `submitHandler`\n // - There was a pending request due to `remote` method and `stopRequest()`\n // was called to submit the form in case it's valid\n\n if (validator.submitButton && (validator.settings.submitHandler || validator.formSubmitted)) {\n hidden = $(\"\").attr(\"name\", validator.submitButton.name).val($(validator.submitButton).val()).appendTo(validator.currentForm);\n }\n\n if (validator.settings.submitHandler && !validator.settings.debug) {\n result = validator.settings.submitHandler.call(validator, validator.currentForm, event);\n\n if (hidden) {\n // And clean up afterwards; thanks to no-block-scope, hidden can be referenced\n hidden.remove();\n }\n\n if (result !== undefined) {\n return result;\n }\n\n return false;\n }\n\n return true;\n } // Prevent submit for invalid forms or custom submit handlers\n\n\n if (validator.cancelSubmit) {\n validator.cancelSubmit = false;\n return handle();\n }\n\n if (validator.form()) {\n if (validator.pendingRequest) {\n validator.formSubmitted = true;\n return false;\n }\n\n return handle();\n } else {\n validator.focusInvalid();\n return false;\n }\n });\n }\n\n return validator;\n },\n // https://jqueryvalidation.org/valid/\n valid: function valid() {\n var valid, validator, errorList;\n\n if ($(this[0]).is(\"form\")) {\n valid = this.validate().form();\n } else {\n errorList = [];\n valid = true;\n validator = $(this[0].form).validate();\n this.each(function () {\n valid = validator.element(this) && valid;\n\n if (!valid) {\n errorList = errorList.concat(validator.errorList);\n }\n });\n validator.errorList = errorList;\n }\n\n return valid;\n },\n // https://jqueryvalidation.org/rules/\n rules: function rules(command, argument) {\n var element = this[0],\n isContentEditable = typeof this.attr(\"contenteditable\") !== \"undefined\" && this.attr(\"contenteditable\") !== \"false\",\n settings,\n staticRules,\n existingRules,\n data,\n param,\n filtered; // If nothing is selected, return empty object; can't chain anyway\n\n if (element == null) {\n return;\n }\n\n if (!element.form && isContentEditable) {\n element.form = this.closest(\"form\")[0];\n element.name = this.attr(\"name\");\n }\n\n if (element.form == null) {\n return;\n }\n\n if (command) {\n settings = $.data(element.form, \"validator\").settings;\n staticRules = settings.rules;\n existingRules = $.validator.staticRules(element);\n\n switch (command) {\n case \"add\":\n $.extend(existingRules, $.validator.normalizeRule(argument)); // Remove messages from rules, but allow them to be set separately\n\n delete existingRules.messages;\n staticRules[element.name] = existingRules;\n\n if (argument.messages) {\n settings.messages[element.name] = $.extend(settings.messages[element.name], argument.messages);\n }\n\n break;\n\n case \"remove\":\n if (!argument) {\n delete staticRules[element.name];\n return existingRules;\n }\n\n filtered = {};\n $.each(argument.split(/\\s/), function (index, method) {\n filtered[method] = existingRules[method];\n delete existingRules[method];\n });\n return filtered;\n }\n }\n\n data = $.validator.normalizeRules($.extend({}, $.validator.classRules(element), $.validator.attributeRules(element), $.validator.dataRules(element), $.validator.staticRules(element)), element); // Make sure required is at front\n\n if (data.required) {\n param = data.required;\n delete data.required;\n data = $.extend({\n required: param\n }, data);\n } // Make sure remote is at back\n\n\n if (data.remote) {\n param = data.remote;\n delete data.remote;\n data = $.extend(data, {\n remote: param\n });\n }\n\n return data;\n }\n }); // JQuery trim is deprecated, provide a trim method based on String.prototype.trim\n\n var trim = function trim(str) {\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/trim#Polyfill\n return str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, \"\");\n }; // Custom selectors\n\n\n $.extend($.expr.pseudos || $.expr[\":\"], {\n // '|| $.expr[ \":\" ]' here enables backwards compatibility to jQuery 1.7. Can be removed when dropping jQ 1.7.x support\n // https://jqueryvalidation.org/blank-selector/\n blank: function blank(a) {\n return !trim(\"\" + $(a).val());\n },\n // https://jqueryvalidation.org/filled-selector/\n filled: function filled(a) {\n var val = $(a).val();\n return val !== null && !!trim(\"\" + val);\n },\n // https://jqueryvalidation.org/unchecked-selector/\n unchecked: function unchecked(a) {\n return !$(a).prop(\"checked\");\n }\n }); // Constructor for validator\n\n $.validator = function (options, form) {\n this.settings = $.extend(true, {}, $.validator.defaults, options);\n this.currentForm = form;\n this.init();\n }; // https://jqueryvalidation.org/jQuery.validator.format/\n\n\n $.validator.format = function (source, params) {\n if (arguments.length === 1) {\n return function () {\n var args = $.makeArray(arguments);\n args.unshift(source);\n return $.validator.format.apply(this, args);\n };\n }\n\n if (params === undefined) {\n return source;\n }\n\n if (arguments.length > 2 && params.constructor !== Array) {\n params = $.makeArray(arguments).slice(1);\n }\n\n if (params.constructor !== Array) {\n params = [params];\n }\n\n $.each(params, function (i, n) {\n source = source.replace(new RegExp(\"\\\\{\" + i + \"\\\\}\", \"g\"), function () {\n return n;\n });\n });\n return source;\n };\n\n $.extend($.validator, {\n defaults: {\n messages: {},\n groups: {},\n rules: {},\n errorClass: \"error\",\n pendingClass: \"pending\",\n validClass: \"valid\",\n errorElement: \"label\",\n focusCleanup: false,\n focusInvalid: true,\n errorContainer: $([]),\n errorLabelContainer: $([]),\n onsubmit: true,\n ignore: \":hidden\",\n ignoreTitle: false,\n onfocusin: function onfocusin(element) {\n this.lastActive = element; // Hide error label and remove error class on focus if enabled\n\n if (this.settings.focusCleanup) {\n if (this.settings.unhighlight) {\n this.settings.unhighlight.call(this, element, this.settings.errorClass, this.settings.validClass);\n }\n\n this.hideThese(this.errorsFor(element));\n }\n },\n onfocusout: function onfocusout(element) {\n if (!this.checkable(element) && (element.name in this.submitted || !this.optional(element))) {\n this.element(element);\n }\n },\n onkeyup: function onkeyup(element, event) {\n // Avoid revalidate the field when pressing one of the following keys\n // Shift => 16\n // Ctrl => 17\n // Alt => 18\n // Caps lock => 20\n // End => 35\n // Home => 36\n // Left arrow => 37\n // Up arrow => 38\n // Right arrow => 39\n // Down arrow => 40\n // Insert => 45\n // Num lock => 144\n // AltGr key => 225\n var excludedKeys = [16, 17, 18, 20, 35, 36, 37, 38, 39, 40, 45, 144, 225];\n\n if (event.which === 9 && this.elementValue(element) === \"\" || $.inArray(event.keyCode, excludedKeys) !== -1) {\n return;\n } else if (element.name in this.submitted || element.name in this.invalid) {\n this.element(element);\n }\n },\n onclick: function onclick(element) {\n // Click on selects, radiobuttons and checkboxes\n if (element.name in this.submitted) {\n this.element(element); // Or option elements, check parent select in that case\n } else if (element.parentNode.name in this.submitted) {\n this.element(element.parentNode);\n }\n },\n highlight: function highlight(element, errorClass, validClass) {\n if (element.type === \"radio\") {\n this.findByName(element.name).addClass(errorClass).removeClass(validClass);\n } else {\n $(element).addClass(errorClass).removeClass(validClass);\n }\n },\n unhighlight: function unhighlight(element, errorClass, validClass) {\n if (element.type === \"radio\") {\n this.findByName(element.name).removeClass(errorClass).addClass(validClass);\n } else {\n $(element).removeClass(errorClass).addClass(validClass);\n }\n }\n },\n // https://jqueryvalidation.org/jQuery.validator.setDefaults/\n setDefaults: function setDefaults(settings) {\n $.extend($.validator.defaults, settings);\n },\n messages: {\n required: \"This field is required.\",\n remote: \"Please fix this field.\",\n email: \"Please enter a valid email address.\",\n url: \"Please enter a valid URL.\",\n date: \"Please enter a valid date.\",\n dateISO: \"Please enter a valid date (ISO).\",\n number: \"Please enter a valid number.\",\n digits: \"Please enter only digits.\",\n equalTo: \"Please enter the same value again.\",\n maxlength: $.validator.format(\"Please enter no more than {0} characters.\"),\n minlength: $.validator.format(\"Please enter at least {0} characters.\"),\n rangelength: $.validator.format(\"Please enter a value between {0} and {1} characters long.\"),\n range: $.validator.format(\"Please enter a value between {0} and {1}.\"),\n max: $.validator.format(\"Please enter a value less than or equal to {0}.\"),\n min: $.validator.format(\"Please enter a value greater than or equal to {0}.\"),\n step: $.validator.format(\"Please enter a multiple of {0}.\")\n },\n autoCreateRanges: false,\n prototype: {\n init: function init() {\n this.labelContainer = $(this.settings.errorLabelContainer);\n this.errorContext = this.labelContainer.length && this.labelContainer || $(this.currentForm);\n this.containers = $(this.settings.errorContainer).add(this.settings.errorLabelContainer);\n this.submitted = {};\n this.valueCache = {};\n this.pendingRequest = 0;\n this.pending = {};\n this.invalid = {};\n this.reset();\n var currentForm = this.currentForm,\n groups = this.groups = {},\n rules;\n $.each(this.settings.groups, function (key, value) {\n if (typeof value === \"string\") {\n value = value.split(/\\s/);\n }\n\n $.each(value, function (index, name) {\n groups[name] = key;\n });\n });\n rules = this.settings.rules;\n $.each(rules, function (key, value) {\n rules[key] = $.validator.normalizeRule(value);\n });\n\n function delegate(event) {\n var isContentEditable = typeof $(this).attr(\"contenteditable\") !== \"undefined\" && $(this).attr(\"contenteditable\") !== \"false\"; // Set form expando on contenteditable\n\n if (!this.form && isContentEditable) {\n this.form = $(this).closest(\"form\")[0];\n this.name = $(this).attr(\"name\");\n } // Ignore the element if it belongs to another form. This will happen mainly\n // when setting the `form` attribute of an input to the id of another form.\n\n\n if (currentForm !== this.form) {\n return;\n }\n\n var validator = $.data(this.form, \"validator\"),\n eventType = \"on\" + event.type.replace(/^validate/, \"\"),\n settings = validator.settings;\n\n if (settings[eventType] && !$(this).is(settings.ignore)) {\n settings[eventType].call(validator, this, event);\n }\n }\n\n $(this.currentForm).on(\"focusin.validate focusout.validate keyup.validate\", \":text, [type='password'], [type='file'], select, textarea, [type='number'], [type='search'], \" + \"[type='tel'], [type='url'], [type='email'], [type='datetime'], [type='date'], [type='month'], \" + \"[type='week'], [type='time'], [type='datetime-local'], [type='range'], [type='color'], \" + \"[type='radio'], [type='checkbox'], [contenteditable], [type='button']\", delegate) // Support: Chrome, oldIE\n // \"select\" is provided as event.target when clicking a option\n .on(\"click.validate\", \"select, option, [type='radio'], [type='checkbox']\", delegate);\n\n if (this.settings.invalidHandler) {\n $(this.currentForm).on(\"invalid-form.validate\", this.settings.invalidHandler);\n }\n },\n // https://jqueryvalidation.org/Validator.form/\n form: function form() {\n this.checkForm();\n $.extend(this.submitted, this.errorMap);\n this.invalid = $.extend({}, this.errorMap);\n\n if (!this.valid()) {\n $(this.currentForm).triggerHandler(\"invalid-form\", [this]);\n }\n\n this.showErrors();\n return this.valid();\n },\n checkForm: function checkForm() {\n this.prepareForm();\n\n for (var i = 0, elements = this.currentElements = this.elements(); elements[i]; i++) {\n this.check(elements[i]);\n }\n\n return this.valid();\n },\n // https://jqueryvalidation.org/Validator.element/\n element: function element(_element) {\n var cleanElement = this.clean(_element),\n checkElement = this.validationTargetFor(cleanElement),\n v = this,\n result = true,\n rs,\n group;\n\n if (checkElement === undefined) {\n delete this.invalid[cleanElement.name];\n } else {\n this.prepareElement(checkElement);\n this.currentElements = $(checkElement); // If this element is grouped, then validate all group elements already\n // containing a value\n\n group = this.groups[checkElement.name];\n\n if (group) {\n $.each(this.groups, function (name, testgroup) {\n if (testgroup === group && name !== checkElement.name) {\n cleanElement = v.validationTargetFor(v.clean(v.findByName(name)));\n\n if (cleanElement && cleanElement.name in v.invalid) {\n v.currentElements.push(cleanElement);\n result = v.check(cleanElement) && result;\n }\n }\n });\n }\n\n rs = this.check(checkElement) !== false;\n result = result && rs;\n\n if (rs) {\n this.invalid[checkElement.name] = false;\n } else {\n this.invalid[checkElement.name] = true;\n }\n\n if (!this.numberOfInvalids()) {\n // Hide error containers on last error\n this.toHide = this.toHide.add(this.containers);\n }\n\n this.showErrors(); // Add aria-invalid status for screen readers\n\n $(_element).attr(\"aria-invalid\", !rs);\n }\n\n return result;\n },\n // https://jqueryvalidation.org/Validator.showErrors/\n showErrors: function showErrors(errors) {\n if (errors) {\n var validator = this; // Add items to error list and map\n\n $.extend(this.errorMap, errors);\n this.errorList = $.map(this.errorMap, function (message, name) {\n return {\n message: message,\n element: validator.findByName(name)[0]\n };\n }); // Remove items from success list\n\n this.successList = $.grep(this.successList, function (element) {\n return !(element.name in errors);\n });\n }\n\n if (this.settings.showErrors) {\n this.settings.showErrors.call(this, this.errorMap, this.errorList);\n } else {\n this.defaultShowErrors();\n }\n },\n // https://jqueryvalidation.org/Validator.resetForm/\n resetForm: function resetForm() {\n if ($.fn.resetForm) {\n $(this.currentForm).resetForm();\n }\n\n this.invalid = {};\n this.submitted = {};\n this.prepareForm();\n this.hideErrors();\n var elements = this.elements().removeData(\"previousValue\").removeAttr(\"aria-invalid\");\n this.resetElements(elements);\n },\n resetElements: function resetElements(elements) {\n var i;\n\n if (this.settings.unhighlight) {\n for (i = 0; elements[i]; i++) {\n this.settings.unhighlight.call(this, elements[i], this.settings.errorClass, \"\");\n this.findByName(elements[i].name).removeClass(this.settings.validClass);\n }\n } else {\n elements.removeClass(this.settings.errorClass).removeClass(this.settings.validClass);\n }\n },\n numberOfInvalids: function numberOfInvalids() {\n return this.objectLength(this.invalid);\n },\n objectLength: function objectLength(obj) {\n /* jshint unused: false */\n var count = 0,\n i;\n\n for (i in obj) {\n // This check allows counting elements with empty error\n // message as invalid elements\n if (obj[i] !== undefined && obj[i] !== null && obj[i] !== false) {\n count++;\n }\n }\n\n return count;\n },\n hideErrors: function hideErrors() {\n this.hideThese(this.toHide);\n },\n hideThese: function hideThese(errors) {\n errors.not(this.containers).text(\"\");\n this.addWrapper(errors).hide();\n },\n valid: function valid() {\n return this.size() === 0;\n },\n size: function size() {\n return this.errorList.length;\n },\n focusInvalid: function focusInvalid() {\n if (this.settings.focusInvalid) {\n try {\n $(this.findLastActive() || this.errorList.length && this.errorList[0].element || []).filter(\":visible\").trigger(\"focus\") // Manually trigger focusin event; without it, focusin handler isn't called, findLastActive won't have anything to find\n .trigger(\"focusin\");\n } catch (e) {// Ignore IE throwing errors when focusing hidden elements\n }\n }\n },\n findLastActive: function findLastActive() {\n var lastActive = this.lastActive;\n return lastActive && $.grep(this.errorList, function (n) {\n return n.element.name === lastActive.name;\n }).length === 1 && lastActive;\n },\n elements: function elements() {\n var validator = this,\n rulesCache = {}; // Select all valid inputs inside the form (no submit or reset buttons)\n\n return $(this.currentForm).find(\"input, select, textarea, [contenteditable]\").not(\":submit, :reset, :image, :disabled\").not(this.settings.ignore).filter(function () {\n var name = this.name || $(this).attr(\"name\"); // For contenteditable\n\n var isContentEditable = typeof $(this).attr(\"contenteditable\") !== \"undefined\" && $(this).attr(\"contenteditable\") !== \"false\";\n\n if (!name && validator.settings.debug && window.console) {\n console.error(\"%o has no name assigned\", this);\n } // Set form expando on contenteditable\n\n\n if (isContentEditable) {\n this.form = $(this).closest(\"form\")[0];\n this.name = name;\n } // Ignore elements that belong to other/nested forms\n\n\n if (this.form !== validator.currentForm) {\n return false;\n } // Select only the first element for each name, and only those with rules specified\n\n\n if (name in rulesCache || !validator.objectLength($(this).rules())) {\n return false;\n }\n\n rulesCache[name] = true;\n return true;\n });\n },\n clean: function clean(selector) {\n return $(selector)[0];\n },\n errors: function errors() {\n var errorClass = this.settings.errorClass.split(\" \").join(\".\");\n return $(this.settings.errorElement + \".\" + errorClass, this.errorContext);\n },\n resetInternals: function resetInternals() {\n this.successList = [];\n this.errorList = [];\n this.errorMap = {};\n this.toShow = $([]);\n this.toHide = $([]);\n },\n reset: function reset() {\n this.resetInternals();\n this.currentElements = $([]);\n },\n prepareForm: function prepareForm() {\n this.reset();\n this.toHide = this.errors().add(this.containers);\n },\n prepareElement: function prepareElement(element) {\n this.reset();\n this.toHide = this.errorsFor(element);\n },\n elementValue: function elementValue(element) {\n var $element = $(element),\n type = element.type,\n isContentEditable = typeof $element.attr(\"contenteditable\") !== \"undefined\" && $element.attr(\"contenteditable\") !== \"false\",\n val,\n idx;\n\n if (type === \"radio\" || type === \"checkbox\") {\n return this.findByName(element.name).filter(\":checked\").val();\n } else if (type === \"number\" && typeof element.validity !== \"undefined\") {\n return element.validity.badInput ? \"NaN\" : $element.val();\n }\n\n if (isContentEditable) {\n val = $element.text();\n } else {\n val = $element.val();\n }\n\n if (type === \"file\") {\n // Modern browser (chrome & safari)\n if (val.substr(0, 12) === \"C:\\\\fakepath\\\\\") {\n return val.substr(12);\n } // Legacy browsers\n // Unix-based path\n\n\n idx = val.lastIndexOf(\"/\");\n\n if (idx >= 0) {\n return val.substr(idx + 1);\n } // Windows-based path\n\n\n idx = val.lastIndexOf(\"\\\\\");\n\n if (idx >= 0) {\n return val.substr(idx + 1);\n } // Just the file name\n\n\n return val;\n }\n\n if (typeof val === \"string\") {\n return val.replace(/\\r/g, \"\");\n }\n\n return val;\n },\n check: function check(element) {\n element = this.validationTargetFor(this.clean(element));\n var rules = $(element).rules(),\n rulesCount = $.map(rules, function (n, i) {\n return i;\n }).length,\n dependencyMismatch = false,\n val = this.elementValue(element),\n result,\n method,\n rule,\n normalizer; // Prioritize the local normalizer defined for this element over the global one\n // if the former exists, otherwise user the global one in case it exists.\n\n if (typeof rules.normalizer === \"function\") {\n normalizer = rules.normalizer;\n } else if (typeof this.settings.normalizer === \"function\") {\n normalizer = this.settings.normalizer;\n } // If normalizer is defined, then call it to retreive the changed value instead\n // of using the real one.\n // Note that `this` in the normalizer is `element`.\n\n\n if (normalizer) {\n val = normalizer.call(element, val); // Delete the normalizer from rules to avoid treating it as a pre-defined method.\n\n delete rules.normalizer;\n }\n\n for (method in rules) {\n rule = {\n method: method,\n parameters: rules[method]\n };\n\n try {\n result = $.validator.methods[method].call(this, val, element, rule.parameters); // If a method indicates that the field is optional and therefore valid,\n // don't mark it as valid when there are no other rules\n\n if (result === \"dependency-mismatch\" && rulesCount === 1) {\n dependencyMismatch = true;\n continue;\n }\n\n dependencyMismatch = false;\n\n if (result === \"pending\") {\n this.toHide = this.toHide.not(this.errorsFor(element));\n return;\n }\n\n if (!result) {\n this.formatAndAdd(element, rule);\n return false;\n }\n } catch (e) {\n if (this.settings.debug && window.console) {\n console.log(\"Exception occurred when checking element \" + element.id + \", check the '\" + rule.method + \"' method.\", e);\n }\n\n if (e instanceof TypeError) {\n e.message += \". Exception occurred when checking element \" + element.id + \", check the '\" + rule.method + \"' method.\";\n }\n\n throw e;\n }\n }\n\n if (dependencyMismatch) {\n return;\n }\n\n if (this.objectLength(rules)) {\n this.successList.push(element);\n }\n\n return true;\n },\n // Return the custom message for the given element and validation method\n // specified in the element's HTML5 data attribute\n // return the generic message if present and no method specific message is present\n customDataMessage: function customDataMessage(element, method) {\n return $(element).data(\"msg\" + method.charAt(0).toUpperCase() + method.substring(1).toLowerCase()) || $(element).data(\"msg\");\n },\n // Return the custom message for the given element name and validation method\n customMessage: function customMessage(name, method) {\n var m = this.settings.messages[name];\n return m && (m.constructor === String ? m : m[method]);\n },\n // Return the first defined argument, allowing empty strings\n findDefined: function findDefined() {\n for (var i = 0; i < arguments.length; i++) {\n if (arguments[i] !== undefined) {\n return arguments[i];\n }\n }\n\n return undefined;\n },\n // The second parameter 'rule' used to be a string, and extended to an object literal\n // of the following form:\n // rule = {\n // method: \"method name\",\n // parameters: \"the given method parameters\"\n // }\n //\n // The old behavior still supported, kept to maintain backward compatibility with\n // old code, and will be removed in the next major release.\n defaultMessage: function defaultMessage(element, rule) {\n if (typeof rule === \"string\") {\n rule = {\n method: rule\n };\n }\n\n var message = this.findDefined(this.customMessage(element.name, rule.method), this.customDataMessage(element, rule.method), // 'title' is never undefined, so handle empty string as undefined\n !this.settings.ignoreTitle && element.title || undefined, $.validator.messages[rule.method], \"Warning: No message defined for \" + element.name + \"\"),\n theregex = /\\$?\\{(\\d+)\\}/g;\n\n if (typeof message === \"function\") {\n message = message.call(this, rule.parameters, element);\n } else if (theregex.test(message)) {\n message = $.validator.format(message.replace(theregex, \"{$1}\"), rule.parameters);\n }\n\n return message;\n },\n formatAndAdd: function formatAndAdd(element, rule) {\n var message = this.defaultMessage(element, rule);\n this.errorList.push({\n message: message,\n element: element,\n method: rule.method\n });\n this.errorMap[element.name] = message;\n this.submitted[element.name] = message;\n },\n addWrapper: function addWrapper(toToggle) {\n if (this.settings.wrapper) {\n toToggle = toToggle.add(toToggle.parent(this.settings.wrapper));\n }\n\n return toToggle;\n },\n defaultShowErrors: function defaultShowErrors() {\n var i, elements, error;\n\n for (i = 0; this.errorList[i]; i++) {\n error = this.errorList[i];\n\n if (this.settings.highlight) {\n this.settings.highlight.call(this, error.element, this.settings.errorClass, this.settings.validClass);\n }\n\n this.showLabel(error.element, error.message);\n }\n\n if (this.errorList.length) {\n this.toShow = this.toShow.add(this.containers);\n }\n\n if (this.settings.success) {\n for (i = 0; this.successList[i]; i++) {\n this.showLabel(this.successList[i]);\n }\n }\n\n if (this.settings.unhighlight) {\n for (i = 0, elements = this.validElements(); elements[i]; i++) {\n this.settings.unhighlight.call(this, elements[i], this.settings.errorClass, this.settings.validClass);\n }\n }\n\n this.toHide = this.toHide.not(this.toShow);\n this.hideErrors();\n this.addWrapper(this.toShow).show();\n },\n validElements: function validElements() {\n return this.currentElements.not(this.invalidElements());\n },\n invalidElements: function invalidElements() {\n return $(this.errorList).map(function () {\n return this.element;\n });\n },\n showLabel: function showLabel(element, message) {\n var place,\n group,\n errorID,\n v,\n error = this.errorsFor(element),\n elementID = this.idOrName(element),\n describedBy = $(element).attr(\"aria-describedby\");\n\n if (error.length) {\n // Refresh error/success class\n error.removeClass(this.settings.validClass).addClass(this.settings.errorClass); // Replace message on existing label\n\n error.html(message);\n } else {\n // Create error element\n error = $(\"<\" + this.settings.errorElement + \">\").attr(\"id\", elementID + \"-error\").addClass(this.settings.errorClass).html(message || \"\"); // Maintain reference to the element to be placed into the DOM\n\n place = error;\n\n if (this.settings.wrapper) {\n // Make sure the element is visible, even in IE\n // actually showing the wrapped element is handled elsewhere\n place = error.hide().show().wrap(\"<\" + this.settings.wrapper + \"/>\").parent();\n }\n\n if (this.labelContainer.length) {\n this.labelContainer.append(place);\n } else if (this.settings.errorPlacement) {\n this.settings.errorPlacement.call(this, place, $(element));\n } else {\n place.insertAfter(element);\n } // Link error back to the element\n\n\n if (error.is(\"label\")) {\n // If the error is a label, then associate using 'for'\n error.attr(\"for\", elementID); // If the element is not a child of an associated label, then it's necessary\n // to explicitly apply aria-describedby\n } else if (error.parents(\"label[for='\" + this.escapeCssMeta(elementID) + \"']\").length === 0) {\n errorID = error.attr(\"id\"); // Respect existing non-error aria-describedby\n\n if (!describedBy) {\n describedBy = errorID;\n } else if (!describedBy.match(new RegExp(\"\\\\b\" + this.escapeCssMeta(errorID) + \"\\\\b\"))) {\n // Add to end of list if not already present\n describedBy += \" \" + errorID;\n }\n\n $(element).attr(\"aria-describedby\", describedBy); // If this element is grouped, then assign to all elements in the same group\n\n group = this.groups[element.name];\n\n if (group) {\n v = this;\n $.each(v.groups, function (name, testgroup) {\n if (testgroup === group) {\n $(\"[name='\" + v.escapeCssMeta(name) + \"']\", v.currentForm).attr(\"aria-describedby\", error.attr(\"id\"));\n }\n });\n }\n }\n }\n\n if (!message && this.settings.success) {\n error.text(\"\");\n\n if (typeof this.settings.success === \"string\") {\n error.addClass(this.settings.success);\n } else {\n this.settings.success(error, element);\n }\n }\n\n this.toShow = this.toShow.add(error);\n },\n errorsFor: function errorsFor(element) {\n var name = this.escapeCssMeta(this.idOrName(element)),\n describer = $(element).attr(\"aria-describedby\"),\n selector = \"label[for='\" + name + \"'], label[for='\" + name + \"'] *\"; // 'aria-describedby' should directly reference the error element\n\n if (describer) {\n selector = selector + \", #\" + this.escapeCssMeta(describer).replace(/\\s+/g, \", #\");\n }\n\n return this.errors().filter(selector);\n },\n // See https://api.jquery.com/category/selectors/, for CSS\n // meta-characters that should be escaped in order to be used with JQuery\n // as a literal part of a name/id or any selector.\n escapeCssMeta: function escapeCssMeta(string) {\n return string.replace(/([\\\\!\"#$%&'()*+,./:;<=>?@\\[\\]^`{|}~])/g, \"\\\\$1\");\n },\n idOrName: function idOrName(element) {\n return this.groups[element.name] || (this.checkable(element) ? element.name : element.id || element.name);\n },\n validationTargetFor: function validationTargetFor(element) {\n // If radio/checkbox, validate first element in group instead\n if (this.checkable(element)) {\n element = this.findByName(element.name);\n } // Always apply ignore filter\n\n\n return $(element).not(this.settings.ignore)[0];\n },\n checkable: function checkable(element) {\n return /radio|checkbox/i.test(element.type);\n },\n findByName: function findByName(name) {\n return $(this.currentForm).find(\"[name='\" + this.escapeCssMeta(name) + \"']\");\n },\n getLength: function getLength(value, element) {\n switch (element.nodeName.toLowerCase()) {\n case \"select\":\n return $(\"option:selected\", element).length;\n\n case \"input\":\n if (this.checkable(element)) {\n return this.findByName(element.name).filter(\":checked\").length;\n }\n\n }\n\n return value.length;\n },\n depend: function depend(param, element) {\n return this.dependTypes[_typeof(param)] ? this.dependTypes[_typeof(param)](param, element) : true;\n },\n dependTypes: {\n \"boolean\": function boolean(param) {\n return param;\n },\n \"string\": function string(param, element) {\n return !!$(param, element.form).length;\n },\n \"function\": function _function(param, element) {\n return param(element);\n }\n },\n optional: function optional(element) {\n var val = this.elementValue(element);\n return !$.validator.methods.required.call(this, val, element) && \"dependency-mismatch\";\n },\n startRequest: function startRequest(element) {\n if (!this.pending[element.name]) {\n this.pendingRequest++;\n $(element).addClass(this.settings.pendingClass);\n this.pending[element.name] = true;\n }\n },\n stopRequest: function stopRequest(element, valid) {\n this.pendingRequest--; // Sometimes synchronization fails, make sure pendingRequest is never < 0\n\n if (this.pendingRequest < 0) {\n this.pendingRequest = 0;\n }\n\n delete this.pending[element.name];\n $(element).removeClass(this.settings.pendingClass);\n\n if (valid && this.pendingRequest === 0 && this.formSubmitted && this.form()) {\n $(this.currentForm).submit(); // Remove the hidden input that was used as a replacement for the\n // missing submit button. The hidden input is added by `handle()`\n // to ensure that the value of the used submit button is passed on\n // for scripted submits triggered by this method\n\n if (this.submitButton) {\n $(\"input:hidden[name='\" + this.submitButton.name + \"']\", this.currentForm).remove();\n }\n\n this.formSubmitted = false;\n } else if (!valid && this.pendingRequest === 0 && this.formSubmitted) {\n $(this.currentForm).triggerHandler(\"invalid-form\", [this]);\n this.formSubmitted = false;\n }\n },\n previousValue: function previousValue(element, method) {\n method = typeof method === \"string\" && method || \"remote\";\n return $.data(element, \"previousValue\") || $.data(element, \"previousValue\", {\n old: null,\n valid: true,\n message: this.defaultMessage(element, {\n method: method\n })\n });\n },\n // Cleans up all forms and elements, removes validator-specific events\n destroy: function destroy() {\n this.resetForm();\n $(this.currentForm).off(\".validate\").removeData(\"validator\").find(\".validate-equalTo-blur\").off(\".validate-equalTo\").removeClass(\"validate-equalTo-blur\").find(\".validate-lessThan-blur\").off(\".validate-lessThan\").removeClass(\"validate-lessThan-blur\").find(\".validate-lessThanEqual-blur\").off(\".validate-lessThanEqual\").removeClass(\"validate-lessThanEqual-blur\").find(\".validate-greaterThanEqual-blur\").off(\".validate-greaterThanEqual\").removeClass(\"validate-greaterThanEqual-blur\").find(\".validate-greaterThan-blur\").off(\".validate-greaterThan\").removeClass(\"validate-greaterThan-blur\");\n }\n },\n classRuleSettings: {\n required: {\n required: true\n },\n email: {\n email: true\n },\n url: {\n url: true\n },\n date: {\n date: true\n },\n dateISO: {\n dateISO: true\n },\n number: {\n number: true\n },\n digits: {\n digits: true\n },\n creditcard: {\n creditcard: true\n }\n },\n addClassRules: function addClassRules(className, rules) {\n if (className.constructor === String) {\n this.classRuleSettings[className] = rules;\n } else {\n $.extend(this.classRuleSettings, className);\n }\n },\n classRules: function classRules(element) {\n var rules = {},\n classes = $(element).attr(\"class\");\n\n if (classes) {\n $.each(classes.split(\" \"), function () {\n if (this in $.validator.classRuleSettings) {\n $.extend(rules, $.validator.classRuleSettings[this]);\n }\n });\n }\n\n return rules;\n },\n normalizeAttributeRule: function normalizeAttributeRule(rules, type, method, value) {\n // Convert the value to a number for number inputs, and for text for backwards compability\n // allows type=\"date\" and others to be compared as strings\n if (/min|max|step/.test(method) && (type === null || /number|range|text/.test(type))) {\n value = Number(value); // Support Opera Mini, which returns NaN for undefined minlength\n\n if (isNaN(value)) {\n value = undefined;\n }\n }\n\n if (value || value === 0) {\n rules[method] = value;\n } else if (type === method && type !== \"range\") {\n // Exception: the jquery validate 'range' method\n // does not test for the html5 'range' type\n rules[method] = true;\n }\n },\n attributeRules: function attributeRules(element) {\n var rules = {},\n $element = $(element),\n type = element.getAttribute(\"type\"),\n method,\n value;\n\n for (method in $.validator.methods) {\n // Support for in both html5 and older browsers\n if (method === \"required\") {\n value = element.getAttribute(method); // Some browsers return an empty string for the required attribute\n // and non-HTML5 browsers might have required=\"\" markup\n\n if (value === \"\") {\n value = true;\n } // Force non-HTML5 browsers to return bool\n\n\n value = !!value;\n } else {\n value = $element.attr(method);\n }\n\n this.normalizeAttributeRule(rules, type, method, value);\n } // 'maxlength' may be returned as -1, 2147483647 ( IE ) and 524288 ( safari ) for text inputs\n\n\n if (rules.maxlength && /-1|2147483647|524288/.test(rules.maxlength)) {\n delete rules.maxlength;\n }\n\n return rules;\n },\n dataRules: function dataRules(element) {\n var rules = {},\n $element = $(element),\n type = element.getAttribute(\"type\"),\n method,\n value;\n\n for (method in $.validator.methods) {\n value = $element.data(\"rule\" + method.charAt(0).toUpperCase() + method.substring(1).toLowerCase()); // Cast empty attributes like `data-rule-required` to `true`\n\n if (value === \"\") {\n value = true;\n }\n\n this.normalizeAttributeRule(rules, type, method, value);\n }\n\n return rules;\n },\n staticRules: function staticRules(element) {\n var rules = {},\n validator = $.data(element.form, \"validator\");\n\n if (validator.settings.rules) {\n rules = $.validator.normalizeRule(validator.settings.rules[element.name]) || {};\n }\n\n return rules;\n },\n normalizeRules: function normalizeRules(rules, element) {\n // Handle dependency check\n $.each(rules, function (prop, val) {\n // Ignore rule when param is explicitly false, eg. required:false\n if (val === false) {\n delete rules[prop];\n return;\n }\n\n if (val.param || val.depends) {\n var keepRule = true;\n\n switch (_typeof(val.depends)) {\n case \"string\":\n keepRule = !!$(val.depends, element.form).length;\n break;\n\n case \"function\":\n keepRule = val.depends.call(element, element);\n break;\n }\n\n if (keepRule) {\n rules[prop] = val.param !== undefined ? val.param : true;\n } else {\n $.data(element.form, \"validator\").resetElements($(element));\n delete rules[prop];\n }\n }\n }); // Evaluate parameters\n\n $.each(rules, function (rule, parameter) {\n rules[rule] = typeof parameter === \"function\" && rule !== \"normalizer\" ? parameter(element) : parameter;\n }); // Clean number parameters\n\n $.each([\"minlength\", \"maxlength\"], function () {\n if (rules[this]) {\n rules[this] = Number(rules[this]);\n }\n });\n $.each([\"rangelength\", \"range\"], function () {\n var parts;\n\n if (rules[this]) {\n if (Array.isArray(rules[this])) {\n rules[this] = [Number(rules[this][0]), Number(rules[this][1])];\n } else if (typeof rules[this] === \"string\") {\n parts = rules[this].replace(/[\\[\\]]/g, \"\").split(/[\\s,]+/);\n rules[this] = [Number(parts[0]), Number(parts[1])];\n }\n }\n });\n\n if ($.validator.autoCreateRanges) {\n // Auto-create ranges\n if (rules.min != null && rules.max != null) {\n rules.range = [rules.min, rules.max];\n delete rules.min;\n delete rules.max;\n }\n\n if (rules.minlength != null && rules.maxlength != null) {\n rules.rangelength = [rules.minlength, rules.maxlength];\n delete rules.minlength;\n delete rules.maxlength;\n }\n }\n\n return rules;\n },\n // Converts a simple string to a {string: true} rule, e.g., \"required\" to {required:true}\n normalizeRule: function normalizeRule(data) {\n if (typeof data === \"string\") {\n var transformed = {};\n $.each(data.split(/\\s/), function () {\n transformed[this] = true;\n });\n data = transformed;\n }\n\n return data;\n },\n // https://jqueryvalidation.org/jQuery.validator.addMethod/\n addMethod: function addMethod(name, method, message) {\n $.validator.methods[name] = method;\n $.validator.messages[name] = message !== undefined ? message : $.validator.messages[name];\n\n if (method.length < 3) {\n $.validator.addClassRules(name, $.validator.normalizeRule(name));\n }\n },\n // https://jqueryvalidation.org/jQuery.validator.methods/\n methods: {\n // https://jqueryvalidation.org/required-method/\n required: function required(value, element, param) {\n // Check if dependency is met\n if (!this.depend(param, element)) {\n return \"dependency-mismatch\";\n }\n\n if (element.nodeName.toLowerCase() === \"select\") {\n // Could be an array for select-multiple or a string, both are fine this way\n var val = $(element).val();\n return val && val.length > 0;\n }\n\n if (this.checkable(element)) {\n return this.getLength(value, element) > 0;\n }\n\n return value !== undefined && value !== null && value.length > 0;\n },\n // https://jqueryvalidation.org/email-method/\n email: function email(value, element) {\n // From https://html.spec.whatwg.org/multipage/forms.html#valid-e-mail-address\n // Retrieved 2014-01-14\n // If you have a problem with this implementation, report a bug against the above spec\n // Or use custom methods to implement your own email validation\n return this.optional(element) || /^[a-zA-Z0-9.!#$%&'*+\\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/.test(value);\n },\n // https://jqueryvalidation.org/url-method/\n url: function url(value, element) {\n // Copyright (c) 2010-2013 Diego Perini, MIT licensed\n // https://gist.github.com/dperini/729294\n // see also https://mathiasbynens.be/demo/url-regex\n // modified to allow protocol-relative URLs\n return this.optional(element) || /^(?:(?:(?:https?|ftp):)?\\/\\/)(?:\\S+(?::\\S*)?@)?(?:(?!(?:10|127)(?:\\.\\d{1,3}){3})(?!(?:169\\.254|192\\.168)(?:\\.\\d{1,3}){2})(?!172\\.(?:1[6-9]|2\\d|3[0-1])(?:\\.\\d{1,3}){2})(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[1-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(?:(?:[a-z0-9\\u00a1-\\uffff][a-z0-9\\u00a1-\\uffff_-]{0,62})?[a-z0-9\\u00a1-\\uffff]\\.)+(?:[a-z\\u00a1-\\uffff]{2,}\\.?))(?::\\d{2,5})?(?:[/?#]\\S*)?$/i.test(value);\n },\n // https://jqueryvalidation.org/date-method/\n date: function () {\n var called = false;\n return function (value, element) {\n if (!called) {\n called = true;\n\n if (this.settings.debug && window.console) {\n console.warn(\"The `date` method is deprecated and will be removed in version '2.0.0'.\\n\" + \"Please don't use it, since it relies on the Date constructor, which\\n\" + \"behaves very differently across browsers and locales. Use `dateISO`\\n\" + \"instead or one of the locale specific methods in `localizations/`\\n\" + \"and `additional-methods.js`.\");\n }\n }\n\n return this.optional(element) || !/Invalid|NaN/.test(new Date(value).toString());\n };\n }(),\n // https://jqueryvalidation.org/dateISO-method/\n dateISO: function dateISO(value, element) {\n return this.optional(element) || /^\\d{4}[\\/\\-](0?[1-9]|1[012])[\\/\\-](0?[1-9]|[12][0-9]|3[01])$/.test(value);\n },\n // https://jqueryvalidation.org/number-method/\n number: function number(value, element) {\n return this.optional(element) || /^(?:-?\\d+|-?\\d{1,3}(?:,\\d{3})+)?(?:\\.\\d+)?$/.test(value);\n },\n // https://jqueryvalidation.org/digits-method/\n digits: function digits(value, element) {\n return this.optional(element) || /^\\d+$/.test(value);\n },\n // https://jqueryvalidation.org/minlength-method/\n minlength: function minlength(value, element, param) {\n var length = Array.isArray(value) ? value.length : this.getLength(value, element);\n return this.optional(element) || length >= param;\n },\n // https://jqueryvalidation.org/maxlength-method/\n maxlength: function maxlength(value, element, param) {\n var length = Array.isArray(value) ? value.length : this.getLength(value, element);\n return this.optional(element) || length <= param;\n },\n // https://jqueryvalidation.org/rangelength-method/\n rangelength: function rangelength(value, element, param) {\n var length = Array.isArray(value) ? value.length : this.getLength(value, element);\n return this.optional(element) || length >= param[0] && length <= param[1];\n },\n // https://jqueryvalidation.org/min-method/\n min: function min(value, element, param) {\n return this.optional(element) || value >= param;\n },\n // https://jqueryvalidation.org/max-method/\n max: function max(value, element, param) {\n return this.optional(element) || value <= param;\n },\n // https://jqueryvalidation.org/range-method/\n range: function range(value, element, param) {\n return this.optional(element) || value >= param[0] && value <= param[1];\n },\n // https://jqueryvalidation.org/step-method/\n step: function step(value, element, param) {\n var type = $(element).attr(\"type\"),\n errorMessage = \"Step attribute on input type \" + type + \" is not supported.\",\n supportedTypes = [\"text\", \"number\", \"range\"],\n re = new RegExp(\"\\\\b\" + type + \"\\\\b\"),\n notSupported = type && !re.test(supportedTypes.join()),\n decimalPlaces = function decimalPlaces(num) {\n var match = (\"\" + num).match(/(?:\\.(\\d+))?$/);\n\n if (!match) {\n return 0;\n } // Number of digits right of decimal point.\n\n\n return match[1] ? match[1].length : 0;\n },\n toInt = function toInt(num) {\n return Math.round(num * Math.pow(10, decimals));\n },\n valid = true,\n decimals; // Works only for text, number and range input types\n // TODO find a way to support input types date, datetime, datetime-local, month, time and week\n\n\n if (notSupported) {\n throw new Error(errorMessage);\n }\n\n decimals = decimalPlaces(param); // Value can't have too many decimals\n\n if (decimalPlaces(value) > decimals || toInt(value) % toInt(param) !== 0) {\n valid = false;\n }\n\n return this.optional(element) || valid;\n },\n // https://jqueryvalidation.org/equalTo-method/\n equalTo: function equalTo(value, element, param) {\n // Bind to the blur event of the target in order to revalidate whenever the target field is updated\n var target = $(param);\n\n if (this.settings.onfocusout && target.not(\".validate-equalTo-blur\").length) {\n target.addClass(\"validate-equalTo-blur\").on(\"blur.validate-equalTo\", function () {\n $(element).valid();\n });\n }\n\n return value === target.val();\n },\n // https://jqueryvalidation.org/remote-method/\n remote: function remote(value, element, param, method) {\n if (this.optional(element)) {\n return \"dependency-mismatch\";\n }\n\n method = typeof method === \"string\" && method || \"remote\";\n var previous = this.previousValue(element, method),\n validator,\n data,\n optionDataString;\n\n if (!this.settings.messages[element.name]) {\n this.settings.messages[element.name] = {};\n }\n\n previous.originalMessage = previous.originalMessage || this.settings.messages[element.name][method];\n this.settings.messages[element.name][method] = previous.message;\n param = typeof param === \"string\" && {\n url: param\n } || param;\n optionDataString = $.param($.extend({\n data: value\n }, param.data));\n\n if (previous.old === optionDataString) {\n return previous.valid;\n }\n\n previous.old = optionDataString;\n validator = this;\n this.startRequest(element);\n data = {};\n data[element.name] = value;\n $.ajax($.extend(true, {\n mode: \"abort\",\n port: \"validate\" + element.name,\n dataType: \"json\",\n data: data,\n context: validator.currentForm,\n success: function success(response) {\n var valid = response === true || response === \"true\",\n errors,\n message,\n submitted;\n validator.settings.messages[element.name][method] = previous.originalMessage;\n\n if (valid) {\n submitted = validator.formSubmitted;\n validator.resetInternals();\n validator.toHide = validator.errorsFor(element);\n validator.formSubmitted = submitted;\n validator.successList.push(element);\n validator.invalid[element.name] = false;\n validator.showErrors();\n } else {\n errors = {};\n message = response || validator.defaultMessage(element, {\n method: method,\n parameters: value\n });\n errors[element.name] = previous.message = message;\n validator.invalid[element.name] = true;\n validator.showErrors(errors);\n }\n\n previous.valid = valid;\n validator.stopRequest(element, valid);\n }\n }, param));\n return \"pending\";\n }\n }\n }); // Ajax mode: abort\n // usage: $.ajax({ mode: \"abort\"[, port: \"uniqueport\"]});\n // if mode:\"abort\" is used, the previous request on that port (port can be undefined) is aborted via XMLHttpRequest.abort()\n\n var pendingRequests = {},\n ajax; // Use a prefilter if available (1.5+)\n\n if ($.ajaxPrefilter) {\n $.ajaxPrefilter(function (settings, _, xhr) {\n var port = settings.port;\n\n if (settings.mode === \"abort\") {\n if (pendingRequests[port]) {\n pendingRequests[port].abort();\n }\n\n pendingRequests[port] = xhr;\n }\n });\n } else {\n // Proxy ajax\n ajax = $.ajax;\n\n $.ajax = function (settings) {\n var mode = (\"mode\" in settings ? settings : $.ajaxSettings).mode,\n port = (\"port\" in settings ? settings : $.ajaxSettings).port;\n\n if (mode === \"abort\") {\n if (pendingRequests[port]) {\n pendingRequests[port].abort();\n }\n\n pendingRequests[port] = ajax.apply(this, arguments);\n return pendingRequests[port];\n }\n\n return ajax.apply(this, arguments);\n };\n }\n\n return $;\n});","import Swal from 'sweetalert2';\nimport 'jquery-validation';\n\nvar locale = $(\"body\").data('lang');\n\ndocument.addEventListener(\"DOMContentLoaded\", function () {\n loadContent();\n\n if(locale == 'en'){\n var recaptcha_error =\"Recaptcha is needed\"\n }else{\n var recaptcha_error=\"Sila tanda Recaptcha\"\n }\n\n $(\"#new_volunteer_form\").validate({\n rules: {\n 'volunteer[name]': { required: true },\n 'volunteer[display_name]': { required: true },\n 'volunteer[email]': {\n required: true,\n email: true\n },\n 'volunteer[phone]': { required: true },\n 'volunteer[jobs]': { required: true },\n },\n errorPlacement: function (error, element) {\n error.addClass('invalid-feedback');\n element.closest('.form-group').append(error);\n },\n highlight: function (element, errorClass, validClass) {\n $(element).addClass('is-invalid');\n },\n unhighlight: function (element, errorClass, validClass) {\n $(element).removeClass('is-invalid');\n },\n submitHandler: function () {\n var url = $(\"#new_volunteer_form\").attr('action');\n\n $.ajax({\n type: \"POST\",\n url: url,\n data: $(\"#new_volunteer_form\").serialize(),\n dataType: \"json\",\n success: function(data)\n {\n Swal.fire({\n icon: 'success',\n title: 'Success!',\n text: data[\"message\"]\n })\n },\n error: function (xhr, ajaxOptions, thrownError) {\n var elem = document.createElement('div');\n console.log(xhr.responseText);\n if(xhr.responseText==\"{}\"){\n Swal.fire({\n icon: 'error',\n title: 'Chup!',\n text: recaptcha_error\n })\n }else{\n $.each(xhr.responseJSON, function( index, value ) {\n elem.append(index[0].toUpperCase() + index.slice(1) + \" \" +value);\n });\n Swal.fire({\n icon: 'error',\n title: 'Chup!',\n html: elem\n })\n }\n }\n });\n },\n });\n});\n\n\nfunction loadContent() {\n var url=\"\"\n if(locale == 'en'){\n url=\"https://blog.mymp.org.my/wp-json/wp/v2/pages/217\"\n }else{\n url=\"https://blog.mymp.org.my/wp-json/wp/v2/pages/232\"\n }\n\n var xhr = $.getJSON(url, function (data) {\n\n $(\"#volunteer-title\").html(data.title.rendered);\n $(\"#volunteer-content\").html(data.content.rendered);\n\n });\n}"],"sourceRoot":""}