Add registration workflow

Update unobtrusive Validation
This commit is contained in:
2020-01-10 14:52:11 -05:00
parent e0464cb77c
commit 8452a9cce0
34 changed files with 235 additions and 898 deletions
@@ -1,115 +1,43 @@
/*!
* jQuery Validate Unobtrusive Bootstrap 1.2.3
*
* https://github.com/sandrocaseiro/jquery.validate.unobtrusive.bootstrap
*
* Copyright 2014 Sandro Caseiro
* Released under the MIT license:
* http://www.opensource.org/licenses/mit-license.php
*/
(function ($) {
if($.validator && $.validator.unobtrusive){
var defaultOptions = {
validClass: 'is-valid',
errorClass: 'is-invalid',
highlight: function (element, errorClass, validClass) {
$(element)
.removeClass(validClass)
.addClass(errorClass);
},
unhighlight: function (element, errorClass, validClass) {
$(element)
.removeClass(errorClass)
.addClass(validClass);
}
//,
//errorElement: 'span',
//errorPlacement: function(error, element) {
// error.addClass('invalid-feedback');
// var errElement =
// $('field-validation-error[data-validation-for="' + element.id + '"]');
// errElement.append(error);
//}
};
(function($)
{
function escapeAttributeValue(value)
{
// As mentioned on http://api.jquery.com/category/selectors/
return value.replace(/([!"#$%&'()*+,./:;<=>?@\[\\\]^`{|}~])/g, "\\$1");
}
$.validator.setDefaults(defaultOptions);
function addErrorClass(element)
{
var group = element.closest('.form-group');
if (group && group.length > 0)
{
group.addClass('has-error').removeClass('has-success');
}
}
function addSuccessClass(element)
{
var group = element.closest('.form-group');
if (group && group.length > 0)
{
group.addClass('has-success').removeClass('has-error');
}
}
function onError(formElement, errorPlacementBase, error, inputElement)
{
errorPlacementBase(error, inputElement);
if ($(inputElement).hasClass('input-validation-error'))
{
addErrorClass(inputElement)
}
}
function onSuccess(successBase, error)
{
var container = error.data("unobtrusiveContainer");
successBase(error);
if (container)
{
addSuccessClass(container);
}
}
$.fn.validateBootstrap = function(refresh)
{
return this.each(function()
{
var $this = $(this);
if (refresh)
{
$this.removeData('validator');
$this.removeData('unobtrusiveValidation');
$.validator.unobtrusive.parse($this);
}
var validator = $this.data('validator');
if (validator)
{
validator.settings.errorClass += ' text-danger';
var errorPlacementBase = validator.settings.errorPlacement;
var successBase = validator.settings.success;
validator.settings.errorPlacement = function(error, inputElement)
{
onError($this, errorPlacementBase, error, inputElement);
};
validator.settings.success = function(error)
{
onSuccess(successBase, error);
}
$this.find('.input-validation-error').each(function()
{
var errorElement = $this.find("[data-valmsg-for='" + escapeAttributeValue($(this)[0].name) + "']");
var newElement = $(document.createElement(validator.settings.errorElement))
.addClass('text-danger')
.attr('for', escapeAttributeValue($(this)[0].name))
.text(errorElement.text());
onError($this, errorPlacementBase, newElement, $(this));
});
}
// if validation isn't enabled, but the form has the validation error message element, add error class to container
else
{
$this.find('.input-validation-error').each(function()
{
addErrorClass($(this));
});
}
});
};
$(function()
{
$('form').validateBootstrap();
});
}(jQuery));
$.validator.unobtrusive.options = {
errorClass: defaultOptions.errorClass,
validClass: defaultOptions.validClass,
errorElement: 'span',
errorPlacement: function (error, element) {
error.addClass('invalid-feedback');
var errElement =
$('field-validation-error[data-validation-for="' + element.id + '"]');
errElement.append(error);
}
};
}
else {
console.warn('$.validator is not defined. Please load this library **after** loading jquery.validate.js and jquery.validate.unobtrusive.js');
}
})(jQuery);
@@ -1,4 +0,0 @@
(function(n){function t(n){return n.replace(/([!"#$%&'()*+,./:;<=>?@\[\\\]^`{|}~])/g,"\\$1")}function i(n){var t=n.closest(".form-group");t&&t.length>0&&t.addClass("has-error").removeClass("has-success")}function u(n){var t=n.closest(".form-group");t&&t.length>0&&t.addClass("has-success").removeClass("has-error")}function r(t,r,u,f){r(u,f);n(f).hasClass("input-validation-error")&&i(f)}function f(n,t){var i=t.data("unobtrusiveContainer");n(t);i&&u(i)}n.fn.validateBootstrap=function(u){return this.each(function(){var e=n(this),o,s,h;u&&(e.removeData("validator"),e.removeData("unobtrusiveValidation"),n.validator.unobtrusive.parse(e));o=e.data("validator");o?(o.settings.errorClass+=" text-danger",s=o.settings.errorPlacement,h=o.settings.success,o.settings.errorPlacement=function(n,t){r(e,s,n,t)},o.settings.success=function(n){f(h,n)},e.find(".input-validation-error").each(function(){var i=e.find("[data-valmsg-for='"+t(n(this)[0].name)+"']"),u=n(document.createElement(o.settings.errorElement)).addClass("text-danger").attr("for",t(n(this)[0].name)).text(i.text());r(e,s,u,n(this))})):e.find(".input-validation-error").each(function(){i(n(this))})})};n(function(){n("form").validateBootstrap()})})(jQuery);
/*
//# sourceMappingURL=jquery.validate.unobtrusive.bootstrap.min.js.map
*/