Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to check if bootstrap modal is open, so I can use jquery validate?

People also ask

Does Bootstrap modal require jQuery?

Bootstrap 5 is designed to be used without jQuery, but it's still possible to use our components with jQuery. If Bootstrap detects jQuery in the window object it'll add all of our components in jQuery's plugin system; this means you'll be able to do $('[data-bs-toggle="tooltip"]').

How do I show validation message in modal popup?

Run the application Go to Home/Employee > click on "Launch demo modal" button a modal popup is displayed leave the fields empty and click on submit button then you can able see the validatons messages (EmpFirstName is decorated with required attribute in EmployeeModel class) displayed on the modal popup.


To avoid the race condition @GregPettit mentions, one can use:

($("element").data('bs.modal') || {})._isShown    // Bootstrap 4
($("element").data('bs.modal') || {}).isShown     // Bootstrap <= 3

// or, with the optional chaining operator (?.)
$("element").data('bs.modal')?._isShown    // Bootstrap 4
$("element").data('bs.modal')?.isShown     // Bootstrap <= 3

as discussed in Twitter Bootstrap Modal - IsShown.

When the modal is not yet opened, .data('bs.modal') returns undefined, hence the || {} - which will make isShown the (falsy) value undefined. If you're into strictness one could do ($("element").data('bs.modal') || {isShown: false}).isShown


You can use

$('#myModal').hasClass('in');

Bootstrap adds the in class when the modal is open and removes it when closed


You can also directly use jQuery.

$('#myModal').is(':visible');

Bootstrap 2 , 3 Check is any modal open in page :

if($('.modal.in').length)

compatible version Bootstrap 2 , 3 , 4+

if($('.modal.in, .modal.show').length)

Only Bootstrap 4+

if($('.modal.show').length)