我目前正在玩欧芹并尝试将其放入我的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如何运作,我有什么遗漏?
答案 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
是一个函数,你应该调用一个对象作为参数传递,而不是直接将对象分配给它。