jQuery(document).ready(function(){
$("#my-form").validate({
errorElement: 'span',
errorClass: 'help-block error-help-block',
errorPlacement: function(error, element) {
if( element.is('select') && element.hasClass('select2-hidden-accessible')) {
element.parent().append(error).addClass("selectContainer");
// Add the span element, if doesn't exists, and apply the icon classes to it.
if ( !$( element ).next( "i" )[0]) {
$(element).closest('.form-group').addClass('has-feedback');
$( "" ).insertAfter( element );
}
} else {
if (element.attr("type") == "radio") {
var $formGroup = element.closest(".form-group"),
$radioList = element.closest('.radio-list');
error.appendTo( $radioList );
if (!$formGroup.find("i")[0]) {
$( "" ).appendTo( $radioList );
}
}
else if (element.attr("type") == "checkbox") {
// error.insertAfter(element.parents('label'));
var $preferredDays = element.closest(".preferred-days");
if ($preferredDays && $preferredDays.length > 0) {
error.insertAfter($preferredDays);
} else {
element.parents(".form-group").append(error.addClass('col-md-10'));
}
// Add the span element, if doesn't exists, and apply the icon classes to it.
if ( !$( element ).find( "i" )[0]) {
$(element).closest('.form-group').addClass('has-feedback');
$( "" ).insertBefore( element.parent("label") );
}
}
else if (element.attr("type") == "file") { // Image upload
if (element.parents('div[class*="_imageupload"]').length) {
error.insertAfter(element.parents('div[class*="_imageupload"]'));
// Add the span element, if doesn't exists, and apply the icon classes to it.
if ( !$( element ).next( "i" )[0]) {
$(element).closest('.form-group').addClass('has-feedback');
$( "" ).insertAfter( element.parent() );
}
} else {
var $imageControlGroup = $(element).closest(".image-control-group"),
hasErrorBlock = $imageControlGroup.find(".error-help-block").length > 0;
if ($imageControlGroup.length > 0 && hasErrorBlock) {
return;
}
error.insertAfter(element);
}
}
else if (element.is("textarea")) {
element.parent().append(error);
if ( !$( element ).next( "i" )[0]) {
$(element).closest('.form-group').addClass('has-feedback');
$( "" ).insertAfter( element );
}
}
else if (element.hasClass("selectized")) {
var $selectizeControl = element.next(".selectize-control");
element.closest(".form-group").addClass("has-feedback");
$selectizeControl.append(error);
if (!$selectizeControl.find("i")[0]) {
$( "" ).appendTo($selectizeControl);
}
}
else {
if(element.parent('.input-group').length) {
error.insertAfter(element.parent());
// Add the span element, if doesn't exists, and apply the icon classes to it.
if ( !$( element ).next( "i" )[0]) {
$(element).closest('.form-group').addClass('has-feedback');
$( "" ).insertAfter( element );
}
} else {
error.insertAfter(element);
// Add the span element, if doesn't exists, and apply the icon classes to it.
if ( !$( element ).next( "i" )[0]) {
$(element).closest('.form-group').addClass('has-feedback');
$( "" ).insertAfter( element );
}
}
}
}
},
highlight: function(element) {
$(element).closest('.form-group').removeClass('has-success').addClass('has-error'); // add the Bootstrap error class to the control group
$(element).closest('.form-group').find( "i" ).addClass( "glyphicon-remove" ).removeClass( "glyphicon-ok" );
},
ignore: [],
// Uncomment this to mark as validated non required fields
unhighlight: function(element) {
if (element.id === "accounts_email" && element.value === "") {
return;
}
$(element).closest('.form-group').removeClass('has-error').addClass('has-success');
$(element).closest('.form-group').find( "i" ).addClass( "glyphicon-ok" ).removeClass( "glyphicon-remove" );
},
success: function(element) {
$(element).closest('.form-group').removeClass('has-error').addClass('has-success');
// remove the Boostrap error class from the control group
// Add the span element, if doesn't exists, and apply the icon classes to it.
if ( !$( element ).find( "i" ) && $(element).attr("type") !== "file") {
$( "" ).insertAfter( $( element ) );
}
},
focusInvalid: false, // do not focus the last invalid input
rules: {"email":{"laravelValidation":[["Required",[],"Email Required.",true],["Email",[],"Email Invalid.",false],["Max",["255"],"Email Invalid.",false]]},"password":{"laravelValidation":[["Required",[],"Password Required.",true]]}} });
});