0

我正在使用 EPF 开发一个项目,并且在处理因服务器上的验证错误而失败的资源时遇到了麻烦。

我正在创建一个新的用户注册页面,它需要一个电子邮件地址、登录名和密码,并要求服务器通过 REST API 创建一个新的用户记录。

当验证失败时,服务器在 JSON 响应中返回带有错误哈希的 422。

首先,我尝试使用session.flushpromise 来访问响应正文:

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 承诺拒绝时,它似乎会触发。它对 4​​22 进行了特定测试,并尝试解析 JSON 有效负载并将其(以及一堆其他有用信息)附加到errors属性上的模型。但是,我新创建的用户模型也没有错误属性。

目前几乎处于死胡同。有谁知道我应该在哪里完成这项工作?

4

0 回答 0