JQuery проверить плагин на DIV
Я пытаюсь использовать проверить плагин на div, как показано в ответе этот вопрос:
<script type="text/javascript">
$("#pseudoForm").validate({
onfocusout:true,
rules:{
first_name:"required",
last_name:"required"
}
});
</script>
<!-- whatever -->
<div id="pseudoForm">
<input type="text" name="first_name"/>
<input type="text" name="last_name"/>
</div>
У меня есть все в форме.
Я получаю кучу разных ошибок в разных браузерах.
- Firefox: валидатор в undefined
- IE8: "настройки" являются нулевыми или не являются
Объект
- Chrome. Невозможно прочитать настройки свойств 'undefined
Любая помощь оценивается!
Ответы
Ответ 1
Это не тот ответ, который вы хотите услышать, но другой ответ неверен (возможно, это было правильно, когда оно было опубликовано, но с тех пор было несколько важных изменений плагина проверки jQuery).
Плагин проверки (в настоящее время) предназначен для работы с <form>
и только на <form>
. Вы также можете заметить, что вся документация плагина ссылается на форму, а не на другой общий контейнер.
Сам плагин отслеживает validator.currentForm
внутренне, что относится к this
переданного в селекторе, получая .elements
, и т.д., что... он действительно не будет работать каким-либо другим способом, а не тем, как написана текущая версия.
Общее решение/альтернативный подход здесь: вызовите .validate()
в элементе <form>
(скорее, оболочка jQuery), не любой другой контейнер. Если вам нужно разделить ваш <form>
элемент <fieldset>
, возможно, используя опцию ignore: ':hidden'
в .validate()
, если вы этого не сделаете хотите проверить поля ввода, которые не видны пользователю.
Ответ 2
Я сделал патч обезьяны для jquery.validate для обработки проверки только части формы (например, содержимого div).
Код и инструкции:
http://dotbrand.wordpress.com/2012/07/22/validate-a-section-of-a-form-with-jquery-validate/
Запрос на утяжеление:
https://github.com/jzaefferer/jquery-validation/pull/452
Ответ 3
Вам не хватает закрывающей скобки. Вместо этого попробуйте:
$("#pseudoForm").validate({
onfocusout:true,
rules:{
first_name:"required",
last_name:"required"
}
});
Ответ 4
Вы можете получить ту же ошибку, если вы выберите форму по классу
$(".form_class").validate(...
вместо ID $("#form_id").validate(...
или имя тега $("form").validate(...
Ответ 5
Я знаю, что это очень старая тема, но она может помочь кому-то прийти на эту страницу.
Пожалуйста, проверьте [1]: http://encosia.com/asp-net-webforms-validation-groups-with-jquery-validation/ очень полезный веб-сайт и продемонстрируйте, какой фактический ответ заслуживает этого вопроса.
[Групповая проверка] [1]
Ответ 6
Откройте jquery.validate.js
или jquery.validate.min.js
и найдите (ctrl + F) "label" и replaceAll
с помощью вашего требуемого тега:
Пример: div
затем выполните проверку.
Ответ 7
//Java Script
$("#getOtp").click(function(){
jQuery(document).ready(function(){
var MobileNo = jQuery("#mobileNo").val();
var MobileNoLength = MobileNo.length;
var zipRegex = /^\d{10}$/;
var mobileNo = $("#mobileNo").val();
if (!zipRegex.test(MobileNo))
{
jQuery('#mobileno_message').show();
}
else
{
// success!
jQuery('#mobileno_message').hide();
$.ajax({
type : 'POST',
url : '<?php echo site_url('Login/send_otp'); ?>',
data : {Otp_MobileNo:mobileNo,},
dataType : 'json',
beforeSend: function()
{
$("#error").fadeOut();
},
success : function(response)
{
alert(response.message_text);
$("#check-otp").delay().animate({
height: 'toggle',
},
"slow");
$("#getOtp").hide();
}
});
}
});
});
Ответ 8
В настройках validate()
поместите onsubmit: !$.browser.msie