source - Trigger backbone.js cambia cuando el valor no cambia
underscore js download (1)
Una característica conocida de backbone.js es que cuando configura datos que no han cambiado, no se activará el evento de cambio ni se someterán a validaciones. Sin embargo, necesito el evento de cambio para activarlo, ya que estoy almacenando una respuesta JSON de una llamada AJAX que almacena los resultados de la validación del servidor. Si el usuario continúa enviando el formulario mientras deja el mismo campo vacío, la validación del backend devolverá el mismo resultado JSON y cuando lo guarde en el modelo no activará el evento de cambio.
Algunas cosas que he intentado dentro de la devolución de llamada exitosa de AJAX, donde establecí los datos en el modelo:
Intento de solución # 1
t.model.unset(''fieldErrors'',{silent: true});
t.model.set({fieldErrors: JSONResponse});
Intento de solución # 2
t.model.set({fieldErrors: null},{silent: true});
t.model.set({fieldErrors: JSONResponse});
Ninguno de estos resultados hace que el evento de cambio se active una segunda vez cuando se realiza la llamada y el usuario tiene el mismo JSONResponse.
Activar manualmente el evento de cambio:
t.model.trigger(''change'', t.model);
o
t.model.trigger(''change:fieldErrors'', t.model, newFieldErrorsValue);