在过去的几天里,我一直在玩Ember CLI,使用SANE堆栈。在完成所有工作并制作todo应用程序(如todo MVC网站(todomvc.com))之后,我现在正在尝试验证服务器上的数据(sails js服务器)。
例如,当保存新的待办事项时(“星期二购物”),Ember将新记录保存在Ember数据存储中的待办事项模型中。然后,Ember数据通过向“http://localhost:4000/api/v1/todos”发送POST请求来更新回车服务器中的todo模型。如何告诉Ember数据需要在后端调用控制器,如“http://localhost:4000/api/v1/todos/addTodo”,而不是直接将数据插入后端的模型?
也许是我,但Ember数据只与后端的模型对话。如果是这样,您如何验证从客户端进入服务器的数据。我只能看到通过控制器在客户端执行验证,这总是不安全的。我只是想在后端验证数据......
答案 0 :(得分:0)
您必须在Sails中修改待办事项控制器。在这里,您可以添加自定义创建功能,您可以在其中验证您的待办事项。这将适用于POST http://localhost:4000/api/v1/todos
有关Sails控制器的更多信息:http://sailsjs.org/#/documentation/concepts/Controllers
答案 1 :(得分:0)
好。有点想通了。您必须通过设置sails来配置sails js的路由,以便在用户向某个URL发送GET或POST请求时从控制器运行某些操作。
例如,这段代码:'post / api / v1 / todos':{controller:'Todo',action:'addTodo'} - 在我的sails js路由器文件中。现在,每当用户向'localhost:4200 / api / v1 / todos'发出POST请求时,请求将被传递到addTodo控制器,我现在可以在其中验证请求参数并将响应发送回ember js。
我现在要遵循本教程,了解如何从后端向ember js发送错误消息。 http://yoranbrondsema.com/displaying-error-messages-ember-js-forms/