E 'una caratteristica nota di backbone.js che quando si imposta i dati che non è cambiata, non verrà generato l'evento di modifica, né saranno passare attraverso convalide. Ho comunque bisogno l'evento di modifica al fuoco come sto memorizzare una risposta JSON da una chiamata AJAX che immagazzina i risultati di convalida backend. Se l'utente continua a inviare il modulo lasciando lo stesso campo vuoto, la convalida del backend restituirà lo stesso risultato JSON e quando lo salverò nel modello non attiverà l'evento change.backbone.js trigger cambiano quando il valore non cambia
Un paio di cose che ho provato nel successo di callback AJAX in cui ho impostato i dati nel modello:
Soluzione Tentativo # 1
t.model.unset('fieldErrors',{silent: true});
t.model.set({fieldErrors: JSONResponse});
tentata soluzione # 2
t.model.set({fieldErrors: null},{silent: true});
t.model.set({fieldErrors: JSONResponse});
Nessuno di questi risultati in caso cambiamento sparano una seconda volta quando la chiamata è fatta e l'utente ha la stessa JSONResponse.
Se non hai paura di boilerplate, si veda la risposta di ScottPuleo. In caso contrario, è possibile ignorare il metodo 'Model # set' di sparare sempre un evento personalizzato (vi posterò una risposta su come se siete interessati). – Loamhoof