Javascript jQuery.validationEngine v2.6.1有时只进行验证?
代码似乎已连接(如下所示) 因为它将验证并引发错误气泡,如果:Javascript jQuery.validationEngine v2.6.1有时只进行验证?,javascript,jquery,forms,meteor,jquery-validation-engine,Javascript,Jquery,Forms,Meteor,Jquery Validation Engine,代码似乎已连接(如下所示) 因为它将验证并引发错误气泡,如果: 您在没有任何输入的情况下超出了必填字段 在需要更多字符的字段中键入至少一个字符,然后单击“提交”按钮 但是,如果您除了单击submit按钮之外什么都不做,它将不会验证并引发错误气泡。在这种情况下,它只是提交。一旦您在字段中单击或输入任何内容,它似乎就起作用了 我可以查找哪些配置错误的内容 HTML: <form class = "contactform" id = "contactForm"> <fie
- 您在没有任何输入的情况下超出了必填字段
- 在需要更多字符的字段中键入至少一个字符,然后单击“提交”按钮
<form class = "contactform" id = "contactForm">
<fieldset>
<div class="contactform-name contactform-field">
<label class="contactform-label" for="contactform-name">Name:
<br>
</label>
<input class="validate[required,minSize[8]] contactform-input" type="text" id="contactform-name" name="name" />
</div>
<div class="contactform-email contactform-field">
<label class="contactform-label" for="contactform-email">Email Address:<br></label>
<input value class="validate[required,custom[email]] contactform-input" type="email" id="contactform-email" name="contactform-email" />
</div>
<div class="contactform-text contactform-field">
<label class="contactform-label" for="contactform-text">Message:
<br>
</label>
<textarea class="validate[required,minSize[12]]contactform-input" name="text" id="contactform-text" > </textarea>
</div>
<input class="contactform-button" type="submit" name="submit" value="Send" />
</fieldset>
</form>
我从未使用过这个引擎,但从文档中我发现“attach”会将验证器附加到form.submit。能这么简单吗 编辑: 您还可以为提交事件做一些事情(如果上面的提示没有帮助的话) 类似这样的内容(未经测试,但应使您走上正确的道路):
你能发布更多关于你的
contactForm
表单的代码(html和javascript)吗?我已经用一些代码片段更新了原始问题。你能创建一个JSFIDLE吗?提交似乎没有绑定到validationEngine,但无法从代码中看出原因。@leonhart我将了解JSFIDLE,我以前从未尝试过。但我认为它确实绑定了,因为它有时会验证,但不是一直都会验证。jsfiddle似乎没有帮助。我在Meteor中运行代码,它的行为与“普通”HTML/PHP/JavaScript不同。这似乎是一个流星特有的问题,因为我可以在测试MAMP堆栈中让它按预期工作。我将尝试在我的初始问题中添加Meteor标记。文档确实会说“如果没有任何参数,将自动调用init()和attach()方法。”但我将尝试显式调用attach()。不过,它似乎是附加的,因为它在某些条件下会进行验证。在meteor中使用submit事件编辑了答案。这是一个好主意,但我已经在表单处理中使用了:Template.ContactForm.events({'submit form':函数(事件){event.preventDefault();到xxx@xxx.com“;Leader='Message from';from=jQuery(event.target).find('[name=email]').val();ClientName=jQuery(event.target).find('[name=name]').val();Message=jQuery(event.target).find('[name=text]')。val();Subject=Leader+ClientName;Meteor.call('sendmail',To,from,Subject,Message);Meteor.Router.to('Thankyu');}})
我在插件的GitHub页面中输入了一个问题。
<form class = "contactform" id = "contactForm">
<fieldset>
<div class="contactform-name contactform-field">
<label class="contactform-label" for="contactform-name">Name:
<br>
</label>
<input class="validate[required,minSize[8]] contactform-input" type="text" id="contactform-name" name="name" />
</div>
<div class="contactform-email contactform-field">
<label class="contactform-label" for="contactform-email">Email Address:<br></label>
<input value class="validate[required,custom[email]] contactform-input" type="email" id="contactform-email" name="contactform-email" />
</div>
<div class="contactform-text contactform-field">
<label class="contactform-label" for="contactform-text">Message:
<br>
</label>
<textarea class="validate[required,minSize[12]]contactform-input" name="text" id="contactform-text" > </textarea>
</div>
<input class="contactform-button" type="submit" name="submit" value="Send" />
</fieldset>
</form>
Template.Contact.rendered = function () {
jQuery("#contactForm").validationEngine();
}
Template.templateName.events({
'submit': function(event) {
// Prevent the submit with preventDefault()
event.preventDefault();
// Do something to check the submit etc.
}
});