我正在使用jquery.validation插件来验证表单上的输入
我按如下方式使用它:
$(document).ready(function () {
jQuery(function () {
// You can specify some validation options here but not rules and messages
jQuery('form[id="reservationForm"]').validate({ ignore: ":not(:visible)" });
$("#adult1Birthdate").mask("9999-99-99");
$("#reservationPersonBirthdate").mask("9999-99-99");
$("#adult1Firstname").rules("add", { required: true, minlength: 2, messages: { required: '<span style="color:Red">Pole wymagane</span>'} });
});
});
但我收到以下错误:
元素未定义
在以下行中:
var settings = $.data(element.form, 'validator').settings;
我做错了什么?
**EDIT**
当我使用jquery.validation
时,以下代码也不起作用 $(document).ready(function () {
$(function () {
$('a[id^="regionDetails"]').click(function () {
var vid_id = $(this).attr("id").replace("regionDetails", "#regionDetailsArea");
$('div[id^="regionDetailsArea"]').hide();
$(vid_id).show();
return false;
});
});
});
答案 0 :(得分:2)
确保您正在调用的元素.rules()
确实存在,jquery.validate
在添加规则时不检查它,并且在描述的行中失败,仅仅因为元素未定义。
答案 1 :(得分:1)
如果您使用的是$
,请不要使用jQuery
。试试这个:
$(document).ready(function () {
$('#reservationForm:visible').validate();
$("#adult1Birthdate").mask("9999-99-99");
$("#reservationPersonBirthdate").mask("9999-99-99");
$("#adult1Firstname").rules("add", { required: true, minlength: 2, messages: { required: '<span style="color:Red">Pole wymagane</span>'} });
$('a:not(#regionDetails)').click(function() {
$('div:not(#regionDetailsArea)').hide();
$($(this).attr("id").replace("regionDetails", "#regionDetailsArea")).show();
return false;
});
});
答案 2 :(得分:0)
我注意到,当我出现此错误时,我在规则中调用的输入在我的表单中没有定义。或者,反之亦然。