[英]Accessing Ember-Data's Validation Errors
當我的服務器返回422時,它會提示Ember Data創建InvalidError消息。 該消息可能如下所示:
The backend rejected the commit because it was invalid: username must be at least 4 characters long
此消息顯示在我的控制台中,但我想在瀏覽器中顯示它,以便用戶可以看到它。 但是,如何在模板中訪問此錯誤? 我找不到有關Ember Data錯誤處理的任何文檔。
您的JSON應如下所示:
{
"errors":
{
"body":["can\'t be blank"],
"title":["should begin with a capital letter"]
}
}
然后,您可以顯示所有錯誤消息,如下所示:
{{#each errors.messages}}
<div>
<p class="label label-danger">{{this}}</p>
</div>
{{/each}}
此外,您只能顯示特定值的消息(例如title
示例),如下所示:
{{#each error in errors.title}}
<div><p class="label label-danger">{{error.message}}</p></div>
{{/each}}
如果您只想表明出現問題,您可以這樣做:
{{#if errors}}
<p>Some errors occurred</p>
{{/if}}
請注意,視圖中的范圍可能不同。 可能需要使用model.errors
或類似方法來訪問errors對象。
在這里你可以找到一個完整的例子jsBin 。
當isValid
為false
時,模型的errors
屬性應包含任何錯誤。 查看ember-data中的adapterDidInvalidate
方法。
嘗試
DS.InvalidError({username:"username must be at least 4 characters long"}).
從文檔:
必須使用單個對象構造DS.InvalidError
,該對象的鍵是無效的模型屬性,其值是相應的錯誤消息。 例如:
return new DS.InvalidError({
length: 'Must be less than 15',
name: 'Must not be blank'
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.