Javascript Meteor JS中的客户端和服务器端验证

Javascript Meteor JS中的客户端和服务器端验证,javascript,validation,meteor,Javascript,Validation,Meteor,所以我使用Meteor的“方法”在客户端和服务器之间传输数据。是否有用于验证数据的推荐模式?我在服务器上看到过类似的SimpleSchema Lists.schema = new SimpleSchema({ name: {type: String}, incompleteCount: {type: Number, defaultValue: 0}, userId: {type: String, regEx: SimpleSchema.RegEx.Id, optional: true

所以我使用Meteor的“方法”在客户端和服务器之间传输数据。是否有用于验证数据的推荐模式?我在服务器上看到过类似的
SimpleSchema

Lists.schema = new SimpleSchema({
  name: {type: String},
  incompleteCount: {type: Number, defaultValue: 0},
  userId: {type: String, regEx: SimpleSchema.RegEx.Id, optional: true}
});

...

const list = {
  name: 'My list',
  incompleteCount: 3
};
Lists.schema.validate(list);

…这很有道理,我是否应该在客户端上使用类似的东西来验证表单?任何额外的信息也将不胜感激

使用Meteor的验证方法包时,可以使用
简单模式
验证方法中的参数

这样做的一个优点是,您可以在方法模拟中验证客户机上的参数,因此如果出现错误,该方法甚至在到达服务器之前就被拒绝

您还可以使用Meteor的
检查
包()作为验证的一部分


在验证表单方面,有很多解决方案。例如,

我还想补充一点,Meteor中服务器和客户端之间的通信是通过“发布”(服务器端)和“订阅”(客户端)对某些发布进行的


据我所知,Meteor中的方法仅适用于CRUD操作,例如,它们可以从客户端远程调用。

当您不使用autoforms时,需要客户端验证。若从UI传递了错误的值,那个么Simpleschema会在服务器端生成错误

如果您希望在不使用autoform的情况下在客户端不进行任何验证,则可以使用
check
功能检查从UI发送的数据。当任何检查失败时,使用asynchronous.
Meteor.call
,使用引导和jquery,您可以在UI上显示用户友好的消息


或者使用普通JavaScript和gquery来满足您的需要。当应用程序在服务器上运行时,这个过程很难在以后进行维护。只需更改简单的验证或条件,整个代码就必须构建和缩小,以适应服务器生产就绪代码。但是,如果您使用simpleschema和autoforms,您将不得不更改app.js文件并重新启动应用程序(可能像我一样使用pm2),您的应用程序将运行良好。

您认为使用autoforms更好吗?Auotform和quickforms都有自己的限制。在表单上执行简单的CRUD操作时,它们更可取。但在大多数情况下,在应用程序中使用它是很好的。请研究这些软件包提供的设施的边界,并检查是否符合您的需要。请接受给出您答案的任何答案并关闭循环。感谢您提出此问题-我已经阅读了meteor的发布/订阅模式,我想我选择了方法,因为它们更熟悉。。。关于使用一种方法而不是另一种方法,有什么指导原则?…看起来这个问题已经得到了回答