2012-07-24 4 views
5

que tienen un modelo simple brasa-datos:brasa-datos isValid, isSaving y isError

WZ.Exercise = DS.Model.extend 
    name: DS.attr 'string' 
    description: DS.attr 'string' 
    group: DS.belongsTo 'WZ.Group' 

Quiero mostrar un mensaje de confirmación al usuario si un nuevo registro se ha guardado o si se ha producido un error . El error podría ser que el objeto no es válida y un error se devuelve JSON, como a continuación:

{"errors":{"description":["can't be blank"]}} 

puedo ver que cada modelo viene con un isSaving, propiedad isValid y una propiedad isError.

¿Alguien puede decirme cómo puedo usar estas propiedades para mostrar las notificaciones correctas a los usuarios?

+1

tal vez ayudaría a: http://grosser.it/2012/05/05/save-validation-callbacks-for-ember-dataember-js/ De lo contrario, todo lo que puedo decir es que hay una discusión sobre la validación con ember-data: https: // github .com/emberjs/data/pull/201 pero no conozco el estado de desarrollo de esto, ya que actualmente Tom Dale y Yehuda Katz están trabajando en una gran refactorización. –

Respuesta

3

no puedo ayudar con la parte validaciones, pero si desea mostrar información al usuario sobre la base del estado de los datos que pueden utilizar estas estado en su plantilla de vista de este modo:

{{#if content.isNew }} 
    <button {{ action save }} >Save</button> 
{{/if}} 
{{#if content.isSaving }} 
    <i>Saving record...</i> 
{{/if }} 
{{#if content.isLoaded }} 
    <b>Record created</b> 
{{/if }} 
{{#unless content.isValid }} 
    <error>Error saving data</error> 
{{/unless }} 
1

Adicional al primer enlace de sly7_7 (agregando la función ObserverSaveOnce al DS.Model), puede parchar el RESTadapter para captar los mensajes de error del lado del servidor.

Un ejemplo de implementación se puede encontrar aquí: https://gist.github.com/3981832

(no lo hice pegar el código aquí porque me permite actualizar la esencia nuevas versiones de las brasas-datos)

Cuestiones relacionadas