preciso fazer uma validação apenas se um modal estiver aberto, porque se eu abrir, e depois fechar, e ao pressionar o botão que abre o modal ele não funciona porque está fazendo a validação do jquery, mas não mostrando porque o modal foi dispensado.
Então, eu quero anunciar um jquery se o modal estiver aberto para que eu valide, isso é possível?
<script>
$(document).ready(function(){
var validator =$('#form1').validate(
{
ignore: "",
rules: {
usu_login: {
required: true
},
usu_password: {
required: true
},
usu_email: {
required: true
},
usu_nombre1: {
required: true
},
usu_apellido1: {
required: true
},
usu_fecha_nac: {
required: true
},
usu_cedula: {
required: true
},
usu_telefono1: {
required: true
},
rol_id: {
required: true
},
dependencia_id: {
required: true
},
},
highlight: function(element) {
$(element).closest('.grupo').addClass('has-error');
if($(".tab-content").find("div.tab-pane.active:has(div.has-error)").length == 0)
{
$(".tab-content").find("div.tab-pane:hidden:has(div.has-error)").each(function(index, tab)
{
var id = $(tab).attr("id");
$('a[href="#' + id + '"]').tab('show');
});
}
},
unhighlight: function(element) {
$(element).closest('.grupo').removeClass('has-error');
}
});
}); // end document.ready
</script>
jquery
validation
twitter-bootstrap
modal-dialog
Mariana Hernandez
fonte
fonte
_isShown
, nãoisShown
.Você pode usar
O bootstrap adiciona a
in
classe quando o modal está aberto e remove-a quando fechadofonte
shown.bs.modal
ouhidden.bs.modal
. Dessa forma, quando seu código de evento obtém controle, você tem certeza absoluta de que o diálogo não está em um estado delicado.'in'
com'show'
a Bootstrap 4.Você também pode usar o jQuery diretamente.
fonte
Verifique se um modal está aberto
$('.modal:visible').length && $('body').hasClass('modal-open')
Para anexar um ouvinte de evento
fonte
Bootstrap 2, 3 Verifique se qualquer modal está aberto na página:
versão compatível Bootstrap 2, 3, 4+
Apenas Bootstrap 4+
fonte
4.1.3
e ele adicionashow
classe em vez dein
.não funcionará se o modal não tiver sido mostrado antes. Você precisará adicionar uma condição extra:
então a resposta levando em consideração a primeira aparição:
fonte
Você também pode usar
fonte
No bootstrap-modal.js v2.2.0:
fonte
Por que complicar as coisas quando isso pode ser feito com jQuery simples como seguir.
fonte