¿Alguien tiene algún consejo o ejemplos para hacer validaciones con backbone.js y ruby on rails 2.xo 3.x?Validación con backbone.js y Ruby on Rails
Respuesta
He estado usando el plugin Backbone.validations con gran éxito. Le permite definir sus validaciones tal como lo hace en los modelos de Rails.
var ValidatingModel = Backbone.Model.extend({
validate : {
name : {
required : true,
pattern : /[a-zA-Z]+/,
minlength : 3,
maxlength : 100
},
age : {
type: "number",
min: 0,
max: 200
},
email : {
type: "email"
},
homepage : {
type: "url"
},
occupation : {
in : [
"Lawyer",
"Doctor",
"Professor",
"Economist"
]
}
}
});
Un enfoque es ubicar el manejo de errores en un modelo base que extienda asignando un controlador de error predeterminado. Este controlador de errores debe manejar tanto la visualización de los errores del lado del cliente como del servidor. Esto es lo que podría parecer la extensión del modelo base:
Model = Backbone.Model.extend({
ui: Utils.UI,
initialize: function(attributes, options) {
options || (options = {});
_.bindAll(this, 'defaultErrorHandler');
this.bind("error", this.defaultErrorHandler);
this.init && this.init(attributes, options);
},
// Gets call for failures in validate and for server failures.
defaultErrorHandler: function(model, error) {
var errors;
if (_.isArray(error)) {
errors = error.join('<br/>');
} else {
// Server error; parse as needed into a displayable error.
}
this.ui.showError(errors);
}
});
y luego otros modelos pueden ampliar y obtener esta funcionalidad de validación. Aquí está un modelo de sesión que contiene su validación en el cliente:
Session = Model.extend({
validate: function(attrs) {
var errors = []
if (_.isEmpty(attrs.email)) {
errors.push("Email can't be blank");
}
if (_.isEmpty(attrs.password)) {
errors.push("Password can't be blank");
}
return _.any(errors) ? errors : null;
}
});
También podría manejar todo en la función de validación ya que es llamado antes de una parada de después de la parada donde después de la operación de guardar podría estar tratando con errores que han sido analizados fuera de la respuesta del servidor.
Usando el enfoque anterior, no necesita especificar una función de error cuando llama a la función de guardar del modelo. Debe ser manejado por la funcionalidad base.
- 1. Ruby on Rails Errores de validación
- 2. Combinación de Ruby on Rails y Backbone
- 3. Ruby on rails y Node.js
- 4. Antipatterns con Ruby on Rails
- 5. SSL con Ruby on Rails
- 6. link_to con Ruby on Rails
- 7. Ruby on Rails I18n interpolation
- 8. Ruby vs. Ruby on Rails
- 9. Ruby on Rails Validación del nombre de dominio (regex)
- 10. Validación de atributos virtuales en Ruby on Rails
- 11. Docsplit Ruby on Rails
- 12. Ruby on Rails enviar
- 13. Ruby on Rails Switch
- 14. Ruby on Rails: descargable
- 15. Ruby on Rails will_paginate
- 16. Integrar django y RoR (ruby on rails)
- 17. Ruby on Rails y jeditable (jquery)
- 18. contenido dinámico con ajax (ruby on rails)
- 19. Diseñando sitios web con Ruby on Rails
- 20. Lista ordenada reorganizable con Ruby on Rails
- 21. Ruby on Rails: ámbitos con nombre anidados
- 22. integración angularjs con Ruby On Rails Forms
- 23. Ruby on Rails: sesión con ActiveResource?
- 24. Ruby on Rails link_to Con put Método
- 25. Ruby on rails: Calendario con eventos
- 26. Ruby on Rails problema a_json con: incluyen
- 27. upsert a granel con Ruby on Rails
- 28. Seguridad en angular.js con Ruby on Rails
- 29. Ruby on Rails y prevención XSS
- 30. Ruby on rails y problema de Heroku
Muy vago. Danos más información – Raynos