Javascript 验证规则不';你看起来不在申请吗?(jsfiddle)

Javascript 验证规则不';你看起来不在申请吗?(jsfiddle),javascript,jquery,jquery-validate,Javascript,Jquery,Jquery Validate,当我在表单页面的控制台中手动添加规则()时,它似乎按照预期进行了验证 我不确定我的格式是否有问题 $('#freeFormAdd').validate({ rules:{ freeFormName: { required: true, }, freeFormPrice: { required: true, },

当我在表单页面的控制台中手动添加规则()时,它似乎按照预期进行了验证

我不确定我的格式是否有问题

$('#freeFormAdd').validate({
        rules:{
            freeFormName: {
                required: true, 
            },
            freeFormPrice: {
                required: true, 
            },
            freeFormQty: {
                required: true, 
            }
        }
    });
然后我使用.valid()确定表单是否准备好提交。由于页面是“无缝的”,我不需要提交表单,只需将一些项目添加到购物车(在JSFIDLE中注释掉)


有什么建议吗?

您的表单元素应该具有
name
属性,而不是
id
属性,验证程序根据元素的
name
属性选择元素。也可以使用
submitHandler
方法,而不是侦听单击事件:

 $('#freeFormAdd').validate({
     rules: {
         freeFormName: {
             required: true,
         },
         freeFormPrice: {
             required: true,
         },
         freeFormQty: {
             required: true,
         }
     },
     submitHandler: function () {
         alert('the form is valid');
     }
 });
请注意,我已将按钮移动到
表单
元素的上下文,因此它会触发提交事件


哇。我现在觉得自己像个十足的笨蛋。我肯定会使用SubmitHandler,但现在验证是在按下该按钮时调用的更为复杂的代码量之后进行的。添加
名称
而不仅仅是
id
修复了它。请包含足够的代码以复制问题。如果不看你的JSFIDLE,这个问题是不可能回答的。包括演示链接总是可以的,但问题必须完全“独立”,不依赖外部链接。