| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111 |
- /* ------------------------------------------------------------------------------
- *
- * # Login form with validation
- *
- * Demo JS code for login_validation.html page
- *
- * ---------------------------------------------------------------------------- */
- // Setup module
- // ------------------------------
- var LoginValidation = function() {
- //
- // Setup module components
- //
- // Uniform
- var _componentUniform = function() {
- if (!$().uniform) {
- console.warn('Warning - uniform.min.js is not loaded.');
- return;
- }
- // Initialize
- $('.form-input-styled').uniform();
- };
- // Validation config
- var _componentValidation = function() {
- if (!$().validate) {
- console.warn('Warning - validate.min.js is not loaded.');
- return;
- }
- // Initialize
- var validator = $('.form-validate').validate({
- ignore: 'input[type=hidden], .select2-search__field', // ignore hidden fields
- errorClass: 'validation-invalid-label',
- successClass: 'validation-valid-label',
- validClass: 'validation-valid-label',
- highlight: function(element, errorClass) {
- $(element).removeClass(errorClass);
- },
- unhighlight: function(element, errorClass) {
- $(element).removeClass(errorClass);
- },
- success: function(label) {
- label.addClass('validation-valid-label').text('Success.'); // remove to hide Success message
- },
- // Different components require proper error label placement
- errorPlacement: function(error, element) {
- // Unstyled checkboxes, radios
- if (element.parents().hasClass('form-check')) {
- error.appendTo( element.parents('.form-check').parent() );
- }
- // Input with icons and Select2
- else if (element.parents().hasClass('form-group-feedback') || element.hasClass('select2-hidden-accessible')) {
- error.appendTo( element.parent() );
- }
- // Input group, styled file input
- else if (element.parent().is('.uniform-uploader, .uniform-select') || element.parents().hasClass('input-group')) {
- error.appendTo( element.parent().parent() );
- }
- // Other elements
- else {
- error.insertAfter(element);
- }
- },
- rules: {
- password: {
- minlength: 5
- }
- },
- messages: {
- username: "Enter your username",
- password: {
- required: "Enter your password",
- minlength: jQuery.validator.format("At least {0} characters required")
- }
- }
- });
- };
- //
- // Return objects assigned to module
- //
- return {
- init: function() {
- _componentUniform();
- _componentValidation();
- }
- }
- }();
- // Initialize module
- // ------------------------------
- document.addEventListener('DOMContentLoaded', function() {
- LoginValidation.init();
- });
|