У меня есть форма, к которой прикреплена карта. Щелчок по карте добавляет скрытые входные данные к div в форме.
Я хочу, чтобы правило проверки проверяло, есть ли в этом div какие-либо скрытые элементы. До сих пор мне удавалось сделать это только с фиктивным элементом, который я должен вручную удалить перед отправкой формы:
<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(); }
});
Однако это оставляет желать лучшего для размещения ошибок, поскольку мой собственный метод проверки не позволяет похоже, когда-либо запускали функцию unhighlight
, и я чувствую себя грязным из-за того, что ввел ввод исключительно для проверки формы (не очень ненавязчиво).
Я бы хотел, чтобы не было лишнего submitHandler
и правила для проверки наличия скрытых входных данных в div, у которого был бы триггер unhighlight
(например, если пользователь щелкнет на карте - что создает новый скрытый ввод - сообщение, которое я показываю им, исчезнет).
Как лучше всего это сделать?