Meteor用于表单验证的双向数据绑定

Meteor two way data binding for form validation

本文关键字:数据绑定 验证 用于 表单 Meteor      更新时间:2023-09-26

我阅读了很多关于Blaze允许Meteor 0.8进行反应式渲染的资源,但我似乎找不到解决下面这个简单问题的方法。

我正在尝试验证我的表单输入。为了简单起见,假设我只想在提交表单时更改{{message}}。我在client.js中采用的方法只是给辅助变量一个新值。这是我过去使用AngularJS的方式,但似乎不仅仅是简单地更改Meteor中的变量。我该怎么做?

- index.html
<template name="user">
    <form>
        <input type="text" id="name">
        <p>{{message}}</p>
        <button class="submit" onclick="return false;">Submit</button>
    </form>
</template>
- client.js
Template.user.message = "";
Template.user.events = {
    'click .submit' = function(){
        Template.user.message = "valid";
    }
}

如果使用反应变量,它应该会起作用。在这个例子中,我将使用一个会话变量:

Template.user.message = function() {
  return Session.get('userMessage');
};
Template.user.events({
  submit: function() {
    Session.set('userMessage', 'valid');
  }
});

请注意,events接受一个对象(您的代码正在分配单击处理程序,而不是在事件映射中生成值)。