为什么Parsley没有验证表格?

时间:2014-05-29 14:35:17

标签: 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(&#39;验证&#39;)调用应该返回false,我不应该获取警报按钮。但是,我似乎总是得到警报框。

关于Meteor或ParsleyJS如何运作,我有什么遗漏?

2 个答案:

答案 0 :(得分:0)

您必须在致电parsley('isValid')后致电validate

示例代码:

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

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

答案 1 :(得分:0)

Template.interestCalc.events是一个函数,你应该调用一个对象作为参数传递,而不是直接将对象分配给它。

相关问题