Your IP : 216.73.217.77


Current Path : /home/users/unlimited/www/dealnest.codeskitter.site/public/assets/js/custom/
Upload File :
Current File : /home/users/unlimited/www/dealnest.codeskitter.site/public/assets/js/custom/validate.js

"use strict";
/********** Custom Validations ****************/

//End Time Custom Validation
$.validator.addMethod("timeGreaterThan", function (value, element, params) {
    let startTime = $(params).val();
    let endTime = $(element).val();
    return endTime > startTime;
}, "End time should be greater than Start time.");

/************ Custom Function **********/

function errorPlacement(label, element) {
    label.addClass('mt-2 text-danger');
    if (label.text()) {
        closeLoading();
        if (element.is(":radio") || element.is(":checkbox")) {
            label.insertAfter(element.parent().parent().parent());
        } else if (element.is(":file")) {
            label.insertAfter(element.siblings('div:first'));
        } else if (element.hasClass('color-picker')) {
            label.insertAfter(element.parent());
        } else if(element.hasClass('select2-dropdown')) {
            label.insertAfter(element.next());
        } else if(element.hasClass('school_code_prefix')) {
            label.insertAfter(element.next().next());
        } else {
            label.insertAfter(element);
        }
    }
}

function highlight(element) {
    closeLoading();
    if ($(element).hasClass('color-picker')) {
        $(element).parent().parent().addClass('has-danger')
    } else {
        $(element).parent().addClass('has-danger')
    }

    $(element).addClass('form-control-danger')
}

function success(element) {
    if ($(element).attr("name") == "bg_color") {
        $(element).parent().parent().removeClass('has-danger')
    } else {
        $(element).parent().removeClass('has-danger')
        $(element).removeClass('form-control-danger')
    }
}

/************ Specific Validation Forms *************/
$(".medium-create-form").validate({
    rules: {
        'name': "required",
    },
    success: function (label, element) {
        success(element);
    },
    errorPlacement: function (label, element) {
        errorPlacement(label, element);
    },
    highlight: function (element, errorClass) {
        highlight(element, errorClass);
    }
});

$(".medium-edit-form").validate({
    rules: {
        'username': "required",
    },
    success: function (label, element) {
        success(element);
    },
    errorPlacement: function (label, element) {
        errorPlacement(label, element);
    },
    highlight: function (element, errorClass) {
        highlight(element, errorClass);
    }
});

$(".section-create-form").validate({
    rules: {
        'end_time': {
            'required': true,
            'timeGreaterThan': $('#start_time')
        },
    },
    success: function (label, element) {
        success(element);
    },
    errorPlacement: function (label, element) {
        errorPlacement(label, element);
    },
    highlight: function (element, errorClass) {
        highlight(element, errorClass);
    }
});

$(".section-edit-form").validate({
    rules: {
        'username': "required",
    },
    success: function (label, element) {
        success(element);
    },
    errorPlacement: function (label, element) {
        errorPlacement(label, element);
    },
    highlight: function (element, errorClass) {
        highlight(element, errorClass);
    }
});

$(".class-create-form").validate({
    rules: {
        'name': "required",
        'medium_id': "required",
        'section_id[]': "required",
    },
    success: function (label, element) {
        success(element);
    },
    errorPlacement: function (label, element) {
        errorPlacement(label, element);
    },
    highlight: function (element, errorClass) {
        highlight(element, errorClass);
    }
});

$(".class-edit-form").validate({
    rules: {
        'name': "required",
        'medium_id': "required",
        'section_id[]': "required",
    },
    success: function (label, element) {
        success(element);
    },
    errorPlacement: function (label, element) {
        errorPlacement(label, element);
    },
    highlight: function (element, errorClass) {
        highlight(element, errorClass);
    }
});

$(".subject-create-form").validate({
    rules: {
        'medium_id': "required",
        'name': "required",
        'bg_color': "required",
        image: {
            required: true,
            extension: "png|jpg|jpeg|svg"
        },
        'type': "required",
    },

    success: function (label, element) {
        success(element);
    },
    errorPlacement: function (label, element) {
        errorPlacement(label, element);
    },
    highlight: function (element, errorClass) {
        highlight(element, errorClass);
    }
});


$(".edit-class-subject-validate-form").validate({
    rules: {
        'class_id': "required",
        'core_subject_id[0]': {
            "required": true,
        },
        'total_selectable_subjects[]': "required",
    },

    success: function (label, element) {
        success(element);
    },
    errorPlacement: function (label, element) {
        errorPlacement(label, element);
    },
    highlight: function (element, errorClass) {
        highlight(element, errorClass);
    }
});

$("#formdata").validate({
    success: function (label, element) {
        success(element);
    },
    errorPlacement: function (label, element) {
        errorPlacement(label, element);
    },
    highlight: function (element, errorClass) {
        highlight(element, errorClass);
    },
});
$("#editdata").validate({
    success: function (label, element) {
        success(element);
    },
    errorPlacement: function (label, element) {
        errorPlacement(label, element);
    },
    highlight: function (element, errorClass) {
        highlight(element, errorClass);
    },
});

$(".student-registration-form").validate({
    rules: {
        'first_name': "required",
        'last_name': "required",
        'mobile': "number",
        'dob': "required",
        'class_section_id': "required",
        'admission_no': "required",
        'admission_date': "required",
        'guardian_email': {
            "required": true,
            "email": true,
        },
        'guardian_first_name': "required",
        'guardian_last_name': "required",
        'guardian_mobile': {
            "number": true,
            "required": true,
        },

    },
    success: function (label, element) {
        success(element);
    },
    errorPlacement: function (label, element) {
        errorPlacement(label, element);
    },
    highlight: function (element, errorClass) {
        highlight(element, errorClass);
    }
});

$(".edit-student-registration-form").validate({
    rules: {
        'first_name': "required",
        'last_name': "required",
        'dob': "required",
        'class_section_id': "required",
        'admission_no': "required",
        'roll_number': "required",
        'admission_date': "required",
        'guardian_email': "required",
        'guardian_first_name': "required",
        'guardian_last_name': "required",
        'guardian_mobile': {
            "number": true,
            "required": true,
        },
    },
    success: function (label, element) {
        success(element);
    },
    errorPlacement: function (label, element) {
        errorPlacement(label, element);
    },
    highlight: function (element, errorClass) {
        highlight(element, errorClass);
    }
});

$(".add-lesson-form").validate({
    rules: {
        'class_section_id': "required",
        'subject_id': "required",
        'name': "required",
        'description': "required",
        'file[0][name]': "required",
        'file[0][thumbnail]': "required",
        'file[0][file]': "required",
        'file[0][link]': "required",
    },
    success: function (label, element) {
        success(element);
    },
    errorPlacement: function (label, element) {
        errorPlacement(label, element);
    },
    highlight: function (element, errorClass) {
        highlight(element, errorClass);
    }
});

//Added this Event here because this form has dynamic input fields.
// $('.add-lesson-form').on('submit', function () {
//     var file = $('[name^="file"]');
//     file.filter('input').each(function (key, data) {
//         $(this).rules("add", {
//             required: true,
//         });
//     });
//     file.filter('input[name$="[name]"]').each(function (key, data) {
//         $(this).rules("add", {
//             required: true,
//         });
//     });
// })

$(".edit-lesson-form").validate({
    rules: {
        'class_section_id': "required",
        'subject_id': "required",
        'name': "required",
        'description': "required",
        'edit_file[0][name]': "required",
        'edit_file[0][link]': "required",
        'file[0][name]': "required",
        'file[0][thumbnail]': "required",
        'file[0][file]': "required",
        'file[0][link]': "required",
    },
    success: function (label, element) {
        success(element);
    },
    errorPlacement: function (label, element) {
        errorPlacement(label, element);
    },
    highlight: function (element, errorClass) {
        highlight(element, errorClass);
    }
});

$(".add-topic-form").validate({
    rules: {
        'class_section_id': "required",
        'subject_id': "required",
        'lesson_id': "required",
        'name': "required",
        'description': "required",
        'file[0][name]': "required",
        'file[0][thumbnail]': "required",
        'file[0][file]': "required",
        'file[0][link]': "required",
    },
    success: function (label, element) {
        success(element);
    },
    errorPlacement: function (label, element) {
        errorPlacement(label, element);
    },
    highlight: function (element, errorClass) {
        highlight(element, errorClass);
    }
});

$(".edit-topic-form").validate({
    rules: {
        'class_section_id': "required",
        'subject_id': "required",
        'name': "required",
        'description': "required",
        'edit_file[0][name]': "required",
        'edit_file[0][link]': "required",
        'file[0][name]': "required",
        'file[0][thumbnail]': "required",
        'file[0][file]': "required",
        'file[0][link]': "required",
    },
    success: function (label, element) {
        success(element);
    },
    errorPlacement: function (label, element) {
        errorPlacement(label, element);
    },
    highlight: function (element, errorClass) {
        highlight(element, errorClass);
    }
});

$(".add-exam-form").validate({
    rules: {
        'class_id': "required",
        'name': "required",
        'timetable[0][subject_id]': "required",
        'timetable[0][total_marks]': "required",
        'timetable[0][passing_marks]': "required",
        'timetable[0][start_time]': "required",
        'timetable[0][end_time]': "required",
        'timetable[0][date]': "required",
    },
    success: function (label, element) {
        success(element);
    },
    errorPlacement: function (label, element) {
        errorPlacement(label, element);
    },
    highlight: function (element, errorClass) {
        highlight(element, errorClass);
    }
});

$(".add-assignment-form").validate({
    rules: {
        'class_section_id': "required",
        'subject_id': "required",
        'name': "required",
        'due_date': "required",
        'extra_days_for_resubmission': "required",
    },
    success: function (label, element) {
        success(element);
    },
    errorPlacement: function (label, element) {
        errorPlacement(label, element);
    },
    highlight: function (element, errorClass) {
        highlight(element, errorClass);
    }
});

$(".edit-assignment-form").validate({
    rules: {
        'class_section_id': "required",
        'subject_id': "required",
        'name': "required",
        'due_date': "required",
        'extra_days_for_resubmission': "required",
    },
    success: function (label, element) {
        success(element);
    },
    errorPlacement: function (label, element) {
        errorPlacement(label, element);
    },
    highlight: function (element, errorClass) {
        highlight(element, errorClass);
    }
});


$(".subject-edit-form").validate({
    rules: {
        'medium_id': "required",
        'name': "required",
        'bg_color': "required",
        image: {
            extension: "png|jpg|jpeg|svg",
        },
        'type': "required",
    },
    success: function (label, element) {
        success(element);
    },
    errorPlacement: function (label, element) {
        errorPlacement(label, element);
    },
    highlight: function (element, errorClass) {
        highlight(element, errorClass);
    }
});

$(".timetable-settings-form").validate({
    rules: {
        'timetable_start_time': 'required',
        'timetable_end_time': {
            'required': true,
            'timeGreaterThan': $('#starting_time')
        },
        'timetable_duration': {
            'required': true,
            'number': true
        }
    },
    success: function (label, element) {
        success(element);
    },
    errorPlacement: function (label, element) {
        errorPlacement(label, element);
    },
    highlight: function (element, errorClass) {
        highlight(element, errorClass);
    }
});

$(".school-registration-validate").validate({
    rules: {
        'school_image': {
            extension: "jpg|jpeg|png|svg"
        },
        admin_image: {
            extension: "jpg|jpeg|png|svg"
        }
    },
    messages: {
        school_image: {
            extension: "Please upload file in these format only (jpg, jpeg, png, svg)."
        },
        admin_image: {
            extension: "Please upload file in these format only (jpg, jpeg, png, svg)."
        }
    },
    success: function (label, element) {
        success(element);
    },
    errorPlacement: function (label, element) {
        errorPlacement(label, element);
    },
    highlight: function (element, errorClass) {
        highlight(element, errorClass);
    }
});


$(".change-school-admin").validate({
    rules: {
        edit_admin_image: {
            extension: "jpg|jpeg|png|svg"
        },
    },
    messages: {
        edit_admin_image: {
            extension: "Please upload file in these format only (jpg, jpeg, png)."
        },
    },
    success: function (label, element) {
        success(element);
    },
    errorPlacement: function (label, element) {
        errorPlacement(label, element);
    },
    highlight: function (element, errorClass) {
        highlight(element, errorClass);
    }
});

$(".create-staff-form").validate({
    rules: {
        image: {
            extension: "jpg|jpeg|png|svg"
        },
    },
    messages: {
        image: {
            extension: "Please upload file in these format only (jpg, jpeg, png)."
        },
    },
    success: function (label, element) {
        success(element);
    },
    errorPlacement: function (label, element) {
        errorPlacement(label, element);
    },
    highlight: function (element, errorClass) {
        highlight(element, errorClass);
    }
});

$(".edit-staff-form").validate({
    rules: {
        image: {
            extension: "jpg|jpeg|png|svg"
        },
    },
    messages: {
        image: {
            extension: "Please upload file in these format only (jpg, jpeg, png)."
        },
    },
    success: function (label, element) {
        success(element);
    },
    errorPlacement: function (label, element) {
        errorPlacement(label, element);
    },
    highlight: function (element, errorClass) {
        highlight(element, errorClass);
    }
});

$('.profile-update-form').validate({
    rules: {
        image: {
            extension: "jpg|jpeg|png|svg"
        },
    },
    messages: {
        image: {
            extension: "Please upload file in these format only (jpg, jpeg, png)."
        },
    },
    success: function (label, element) {
        success(element);
    },
    errorPlacement: function (label, element) {
        errorPlacement(label, element);
    },
    highlight: function (element, errorClass) {
        highlight(element, errorClass);
    }
});

// THIS FUNCTIONS SHOULD ALWAYS BE AT THE LAST OF THE DOCUMENT
// OTHERWISE IT WILL CONFLICT THE OTHER VALIDATION FUNCTIONS
/************ Common Validation ***********/
let defaultValidationClasses = ['.create-form', '#create-form', '.create-form-without-reset', '.edit-form', '#edit-form','.common-validation'];

defaultValidationClasses.forEach(function (value, index) {
    $(value).validate({
        success: function (label, element) {
            success(element);
        },
        errorPlacement: function (label, element) {
            errorPlacement(label, element);
        },
        highlight: function (element, errorClass) {
            highlight(element, errorClass);
        }
    });

})

$(".online-registration-form").validate({
    rules: {
        'first_name': "required",
        'last_name': "required",
        'mobile': "number",
        'dob': "required",
        'class_section_id': "nullable",
        'admission_no': "required",
        'admission_date': "required",
        'guardian_email': {
            "required": true,
            "email": true,
        },
        'guardian_first_name': "required",
        'guardian_last_name': "required",
        'guardian_mobile': {
            "number": true,
            "required": true,
        },

    },
    success: function (label, element) {
        success(element);
    },
    errorPlacement: function (label, element) {
        errorPlacement(label, element);
    },
    highlight: function (element, errorClass) {
        highlight(element, errorClass);
    }
});

$(".restore-form").validate({
    rules: {
        zip: {
            required: true,
            extension: "zip"
        },
    },

    success: function (label, element) {
        success(element);
    },
    errorPlacement: function (label, element) {
        errorPlacement(label, element);
    },
    highlight: function (element, errorClass) {
        highlight(element, errorClass);
    }
});