jQuery.validationEngine v2.6.1有时仅验证?

时间:2013-06-23 19:21:06

标签: javascript jquery forms meteor jquery-validation-engine

代码似乎被连接起来(像这样)

jQuery("#contactForm").validationEngine();

因为如果出现以下情况,它会验证并引发错误气泡:

  • 您选择了没有任何输入的必填字段
  • 在需要更多字段的字段中键入至少一个字符,然后单击“提交”按钮

但是如果你什么也不做,除非点击提交按钮,否则它不会验证并引发错误气泡。在那种情况下,它只是提交。一旦你点击该字段或输入任何内容,它似乎都有效。

我错误配置了什么?

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>

JavaScript(它在Meteor中运行):

Template.Contact.rendered = function () {
    jQuery("#contactForm").validationEngine();
}

1 个答案:

答案 0 :(得分:0)

我从来没有使用过这个引擎,但是从文档我发现'attach'会将验证器附加到form.submit。可以这么简单吗?

https://github.com/posabsolute/jQuery-Validation-Engine#attach

修改

您也可以对提交事件进行处理(如果上述提示无效)。

这样的事情(没有经过测试,但应该让你走上正确的道路):

Template.templateName.events({
   'submit': function(event) {

      // Prevent the submit with preventDefault()
      event.preventDefault();

      // Do something to check the submit etc.

   }
});