[英]jquery validate: adding a required rule with custom message based on wether a different form field has a value
我知道这似乎是一个重复的问题,但是我已经阅读了所有其他文章,但他们的理解不尽相同:(
我有一些下拉菜单,如果它们还有其他选项,则选择一个值为“ 0”的选项,那么我需要核心响应的“到期日期”字段。
我尝试将规则放在对象的类中,并使用rules('add')函数。 这是我现在所在的位置:
$('[id^=ExpiryDate]').each(function() {
$(this).rules('add',
{ required: function() {
if ($('#q' + id).val() == '0') {
return false;
}
else {
return true;
}
}
}
);
我的到期日期字段的ID如“ ExpiryDate1”,“ ExpiryDate2”,而相应的下拉列表的ID如“ q1”和“ q2”。
这使我的脚本失败。 它不会在错误控制台或Firebug中提供任何错误。 但它也不会执行在它之后出现的任何JavaScript。
我有一种感觉,我确实很失落,很愚蠢。 但我已经盯着这个代码几个小时了,找不到它!
提前致谢!
尝试这个:
$('[id^=ExpiryDate]').each(function() {
var id = $(this).attr('id').replace('ExpiryDate','');
$(this).rules('add', {
required: function() {
return $('#q' + id).val() !== '0';
}
}
);
目前,您的id
是未定义的,因此它没有找到任何元素。 其余只是较短的版本。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.