Add registration workflow
Update unobtrusive Validation
This commit is contained in:
@@ -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
|
||||
*/
|
||||
Binary file not shown.
Reference in New Issue
Block a user