File: /var/www/admin.javaapp.co.uk/public/assets/js/cafe/editProfile.js
$(function () {
$('#cafe_type').select2({
minimumResultsForSearch: Infinity,
});
$('#cafe_filter').select2({
minimumResultsForSearch: Infinity,
placeholder: selectCafeFilter,
});
$('.select2').removeClass('mb-4')
// Jquery form validation for Contact must be validated
$.validator.addMethod(
"regex",
function (value, element, regexp) {
if (regexp.constructor != RegExp) {
regexp = new RegExp(regexp);
} else if (regexp.global) {
regexp.lastIndex = 0;
}
return this.optional(element) || regexp.test(value);
},
validation.phone_regex
);
$.validator.addMethod(
"regexTime",
function (value, element, regexp) {
if (regexp.constructor != RegExp) {
regexp = new RegExp(regexp);
} else if (regexp.global) {
regexp.lastIndex = 0;
}
return this.optional(element) || regexp.test(value);
},
validation.regexTime
);
// Jquery form validation for Email must be validated
$.validator.addMethod("customEmail", function (value, element) {
return this.optional(element) || /^[a-zA-Z0-9.+_-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/i.test(value);
}, validation.email_customEmail);
// Jquery form validation for fileSize must be less than x kb
$.validator.addMethod('fileSize', function (value, element, param) {
return this.optional(element) || (element.files[0].size <= param * 1000)
}, validation.image_maxSize);
$('#edit_profile_form').validate({
ignore: [],
rules: {
cafe_name: {
required: true,
// minlength: 5,
maxlength: 50,
},
email: {
required: true,
email: true,
customEmail: true
},
phone: {
// required: true,
regex: /^\+?\d{1,4}?[-.\s]?\(?\d{1,3}?\)?[-.\s]?\d{1,4}[-.\s]?\d{1,4}[-.\s]?\d{1,9}$/,
maxlength: 17,
// maxlength: 16,
// regex: /^\+?\d*$/,
// regex: /^(\+\d{1,2}\s?)?1?\-?\.?\s?\(?\d{3}\)?[\s.-]?\d{3}[\s.-]?\d{4}$/,
// regex: /^(\\+\\d{1,3}( )?)?((\\(\\d{1,3}\\))|\\d{1,3})[- .]?\\d{3,4}[- .]?\\d{4}$/,
minlength: 10,
},
cafe_type: {
required: true,
},
bio: {
required: true,
minlength: 8,
maxlength: 500,
},
address: {
required: true,
minlength: 8,
maxlength: 500,
},
postcode: {
required: true,
minlength: 3,
maxlength: 10,
},
website: {
// minlength: 5,
maxlength: 100,
},
picture__input: {
required: false,
extension: "jpg|jpeg|png",
fileSize: maxSize,
},
"cafe_filter[]": {
required: true,
},
},
messages: {
cafe_name: {
required: validation.cafe_name_required,
// minlength: validation.cafe_name_minlength,
maxlength: validation.cafe_name_maxlength,
},
email: {
required: validation.email_required,
email: validation.email_email,
},
phone: {
// required: validation.phone_required,
minlength: validation.phone_minlength,
maxlength: validation.phone_maxlength,
},
cafe_type: {
required: validation.bio_required,
},
bio: {
required: validation.bio_required,
minlength: validation.bio_minlength,
maxlength: validation.bio_maxlength,
},
address: {
required: validation.address_required,
minlength: validation.address_minlength,
maxlength: validation.address_maxlength,
},
postcode: {
required: validation.postcode_required,
minlength: validation.postcode_minlength,
maxlength: validation.postcode_maxlength,
},
website: {
minlength: validation.website_minlength,
maxlength: validation.website_maxlength,
},
picture__input: {
extension: validation.image_extension,
},
"cafe_filter[]": {
required: validation.cafe_filter_required,
},
},
errorElement: 'span',
errorPlacement: function (error, element) {
error.addClass('invalid-feedback');
if (element.attr("name") == "profile_picture") {
error.appendTo("#profile_picture_error")
} else {
element.closest('.form-group.mb-4').append(error);
}
},
highlight: function (element, errorClass, validClass) {
$(element).addClass('is-invalid');
},
unhighlight: function (element, errorClass, validClass) {
$(element).removeClass('is-invalid');
}
});
});