Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/390.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery.validationEngine v2.6.1有时只进行验证?_Javascript_Jquery_Forms_Meteor_Jquery Validation Engine - Fatal编程技术网

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

代码似乎已连接(如下所示)

因为它将验证并引发错误气泡,如果:

  • 您在没有任何输入的情况下超出了必填字段
  • 在需要更多字符的字段中键入至少一个字符,然后单击“提交”按钮
但是,如果您除了单击submit按钮之外什么都不做,它将不会验证并引发错误气泡。在这种情况下,它只是提交。一旦您在字段中单击或输入任何内容,它似乎就起作用了

我可以查找哪些配置错误的内容

HTML:

<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.

   }
});