Domanda

Sto cercando di decidere quale approccio convalida di prendere per un nuovo progetto ASP.NET MVC. (E wow ci sono un sacco di opzioni!)

Il progetto utilizza NHibernate, quindi la prima cosa che ho considerato è stato il NHibernate Validator (A causa della stretta integrazione con NHibernate). Tuttavia, per quanto posso vedere ci sono solo un paio di vantaggi a questa stretta integrazione:

1) DB schemi generato da NHibernate includerà dettagli della convalida (ad esempio le lunghezze delle colonne verranno impostate il valore massimo consentito in validazione). (Questo non è realmente di interesse per me anche se, come ho generare manualmente gli schemi.)

2) NHibernate un'eccezione se si tenta di salvare dati che non soddisfano le specifiche di validazione. (Questo sembra abbastanza ridondante per me, dal momento che i dati presumibilmente saranno già convalidati da qualsiasi meccanismo che si sceglie prima di salvare in ogni caso)

Se ci sono più vantaggi per NHibernate Validator fatemelo sapere!

Altre librerie che ho letto un po 'includono:

  • MS DataAnnotations
  • Castello Validator
  • Qualcos'altro?

Ho anche pensato di usare xVal per fornire cliente convalida lato dallo stesso insieme di regole. Tuttavia, ho sentito che ASP.NET MVC v2 comprenderà qualcosa di simile a xVal (integrazione con jquery) fuori dalla scatola? Sarà questa nuova funzionalità incluse rendere alcuni degli altri ridondanti?

Quindi, praticamente sto chiedendo consigli della gente su quale direzione prendere qui. Non voglio implementare uno schema particolare, solo per avere a strappare fuori quando un altro diventa la tecnologia dominante.

Che cosa ha funzionato per voi? Quale opzione pensi abbia / avrà il bordo?

Grazie!

È stato utile?

Soluzione

Sono stato con FluentValidation insieme a convalida jQuery plug-in e ancora non riesce a trovare una situazione che non può gestire.

Altri suggerimenti

Mi piace xVal .

È possibile implementare facilmente la convalida client e server con esso. Inoltre v'è il supporto per la colonna (proprietà) convalida le entità che si desidera utilizzare.

DataAnnotations implementato da classi compagno e JQuery client convalida

Assicurarsi che si sta utilizzando MVC Preview 2

Si potrebbe essere interessato a questo approccio delegato . Ero perché non mi piace l'idea xVal (la soluzione al momento sto andando con) e il fatto che non sembrava per soddisfare i casi di validazione complessi che hanno attraversato più proprietà dello stesso o anche diverse strutture di classe.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top