Tengo un formulario que tiene un mapa adjunto. Al hacer clic en el mapa, se agregan entradas ocultas a un div en el formulario.jQuery Validate: cómo validar un elemento que no forma?
Quiero una regla de validación para comprobar si ese div tiene o no elementos ocultos. Hasta ahora, sólo he sido capaz de hacer esto con un elemento ficticio que tengo que quitar manualmente antes de enviar el formulario:
<form action="..." method="post" id="signup">
<!-- ... -->
<div id="zones_selected"><input type="hidden" name="dummy"></div>
<!-- ... -->
</form>
$.validator.methods.zones = function (value, element, param) { return ($zone_holder.find('input[name!=dummy]').length > 0); };
$('#signup').validate({
rules: {
//...
'dummy': 'zones'
},
//...
submitHandler: function(form) { $(form).find('input[name=dummy]').remove(); form.submit(); }
});
Sin embargo, estas hojas mucho que desear para la colocación de error, ya que mi validador personalizado El método no parece desencadenar la función unhighlight
, y me siento sucio por haber ingresado una entrada únicamente para la validación de formularios (no muy discreta).
Lo que me gustaría es submitHandler
y una regla para verificar la presencia de entradas ocultas en un div que tendría un activador unhighlight
(de forma que si un usuario hace clic en el mapa, lo que crea una nueva entrada oculta --el mensaje que veo diciéndoles que lo haga desaparecerá).
¿Cuál es la mejor manera de lograr esto?