让我们假设一个人使用表单来更新集合中的文档。
通常,在提交后,可以使用某种类型的表单验证过程来验证表单中字段的完整性。然后在数据验证之后,假设数据被传递给meteor方法以实际更新集合。
但理论上,用户可以使用javascript控制台来构建对同一更新方法的流星调用。出于安全考虑,为了验证通过控制台提交的内容,这是否意味着必须在方法中验证字段的完整性?
因此,对于通过表单的正常提交案例,这将导致相同的字段被验证两次(一次在表单验证期间,一次在方法中)。
是否有一种优雅的方法来绕过冗余验证,或者所有方法都必须有冗余的字段验证步骤?
答案 0 :(得分:0)
您应该考虑使用aldeed:collection2来验证对集合的更新。通常,您在/ lib中定义架构,然后在客户端和服务器上验证更新,但您只需编写一次代码。如果您想避免双重工作,那么只能在服务器上进行验证,因为您无法信任客户端。建议不要这样做,因为客户端验证的成本由您的用户承担,而不是您的服务器承担。如果在输入字段而不是onSubmit时验证字段,则可以创建更好的用户体验,因为您将更早地向用户提供反馈。
我的基本验证方法:
change(){}
上每个表单字段的事件处理程序。这样做可以使字段边框为绿色表示有效条目,红色X表示无效条目。更多阅读: