我正在使用EPF处理一个项目,并且在处理服务器上出现验证错误而失败的资源时遇到问题。
我正在创建一个新的用户注册页面,该页面接收电子邮件地址,登录名和密码,并要求服务器通过REST API创建新的用户记录。
当验证失败时,服务器会在JSON响应中返回带有错误哈希的422。
首先,我尝试使用session.flush
承诺来访问响应正文:
registerNewUser: ->
onSuccess = (models)=>
newUser = @get('content')
@transitionToRoute('user', newUser)
onFailure = (response)->
debugger
@session.flush().then(onSuccess, onFailure)
传递给拒绝操作的response
参数实际上包含一个异常(在我的例子中:“TypeError:无法调用未定义的方法'toString'。调查堆栈显示它是EPF内部的异常 - 我很确定这是一个错误,但我需要做更多的挖掘来证实这一点。
“好的,”我想。 “我会阅读EPF来源”。
我遇到https://github.com/GroupTalent/epf/blob/master/lib/rest/rest_adapter.js#L267,当jQuery AJAX承诺下降时,它似乎正在触发。它具有针对422的特定测试,并尝试解析JSON有效负载并将其(以及一堆其他有用信息)附加到errors
属性上的模型。但是,我新创建的用户模型也没有错误属性。
现在几乎处于死胡同。有谁知道我应该在哪里做这项工作?