javascript - 为什么 Parsley 不验证表单?

标签 javascript meteor parsley.js

我目前正在玩欧芹并尝试将其放入我的 Meteor 应用程序中,但我似乎无法使用它来验证。我知道这可能只是一个基本问题,但我已经寻找了很长时间,但似乎找不到原因。

这是我的代码。

HTML

<head>
<title>interestCalc</title>

{{> interestCalc}}

<form id="formInterest" class="form-horizontal">
    <div class="form-group">
        <label for="txtInterest" name="txtInterest" class="col-sm-2 control-label">Interest rate</label>

        <div class="col-sm-6">
            <input type="text" data-parsley-required="true" class="form-control" id="txtInterest"
                   placeholder="Interest Rate">
        </div>
    </div>
    <div class="form-group">
        <button
                class="btn btn-success"
                id="saveButton"
                type="submit">
            Next
        </button>
    </div>
</form>

JS

if(Meteor.isClient) {

    Template.interestCalc.events = {

        'click #saveButton': function(e,t) {
            var $form = $('#formInterest');
            if ($form.parsley('validate')) {
                alert('done');
            }
            return false;
        }

    }
}

if (Meteor.isServer) {
  Meteor.startup(function () {
    // code to run on server at startup
  });
}

现在,因为它只是一个小型学习应用程序,所以我刚刚将所有内容粘贴到此处,但我可以说我可以访问点击事件。但是,我假设如果文本框中没有任何内容,我的 $form.parsley('validate') 调用应该返回 false,并且我不应该收到警报按钮。但是,我似乎总是收到警报框。

我对 Meteor 或 ParsleyJS 的工作原理有什么遗漏吗?

最佳答案

您必须在调用 validate 后调用 parsley('isValid')

示例代码:

//Validate the inputs
$form.parsley('validate');
// Get the status of validity
var isValid = $form.parsley('isValid');

if (isValid) {
   alert('done');
}

关于javascript - 为什么 Parsley 不验证表单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23935938/

相关文章:

javascript - Jquery函数运行多次

javascript - 如何在客户端集合增长时立即响应地执行代码?

javascript - 通过 javascript 动态添加验证到表单

error-handling - 欧芹错误位置

jquery - Google ReCAPTCHA 如何要求?

javascript - 创建类似于 WPF WrapPanel 的水平布局(网页设计)

javascript - 是 Object.create() 方法执行浅拷贝?

javascript - 提交更改输入字段的表单

javascript - meteor JS : How to get value of an input text

node.js - Node 的 exec 调用是否会阻止 Meteor 应用程序?