2011-11-25 12 views
18

Quali sono le opzioni per utilizzare lo stesso codice JavaScript per convalidare sia lato client che lato server (Node.js)?Convalida JavaScript che funziona sia sul server client che su Node.js?

+1

Ho finito per scrivere la mia convalida. Fondamentalmente ho un modello per es. Persona che ha convalida su di esso. Questo modello Persona esiste sia sul client che sul server. Quando un utente immette i dettagli sul mio FORM, compilo l'oggetto Person e lo convalida, dando feedback a campi errati. Dopo che il modulo è stato restituito al server, re-popola l'oggetto Person e riconvalido con i valori ricevuti dal client. Se c'è un errore, lo rimando al client. In questo modo posso riutilizzare lo stesso modello sia su client che su server, eseguire test di unità e mostrare errori con jquery. –

risposta

-14

Nessuno, si stanno convalidando criteri completamente diversi sul lato server. La convalida sul lato client è puramente un criterio di accettazione da parte dell'utente e non ha nulla a che fare con la sicurezza. La convalida sul lato server riguardava quasi esclusivamente la sicurezza.

+10

Non sono d'accordo. Ignorando XSS e altre iniezioni, voglio comunque verificare che un campo modulo sia lungo X caratteri ed è un codice postale. Altrimenti non ci sarebbe nulla che mi impedisca di entrare in Firebug e di cambiare i valori inviati al server. E usare JavaScript sia sul client che sul server significherebbe il riutilizzo del codice. Sarebbe sciocco non farlo. –

+0

Le vulnerabilità XSS e altre iniezioni non possono essere ignorate, quindi il tuo punto è irrilevante. – austincheney

+0

Penso che il suo punto sia valido. Voglio verificare che un'e-mail sia una e-mail sia sul client che sul server senza scrivere lo stesso identico codice nella stessa identica lingua due volte. Vedere questo gioiello rails per un esempio: https://github.com/bcardarella/client_side_validations – rgbrgb

8

Dai uno sguardo allo revalidator. È descritto come "Un validatore cross-browser/node.js utilizzato da risorse e flatiron".

Problemi correlati