Domanda

Sto usando ASP.NET MVC con le classi Entity Framework POCO e il quadro FluentValidation. Si sta lavorando bene, e la validazione avviene come dovrebbe (come se stessi usando DataAnnotations). Ho anche ottenuto di lavoro convalida lato client. E sono abbastanza soddisfatto.

Poiché si tratta di un'applicazione di test scrivo solo per vedere se posso ottenere nuove tecnologie che lavorano insieme (e imparare lungo la strada), sono ora pronti a sperimentare con l'utilizzo di ViewModels invece di passare l'attuale modello per la Visualizza. Sto pensando di usare qualcosa come automapper nel mio servizio a fare la parte posteriore mappatura e indietro da modello a ViewModel ma ho una domanda in primo luogo.

Come è questa intenzione di influenzare la mia convalida? Qualora le mie classi di validazione (scritto usando FluentValidation) essere scritti contro il ViewModel al posto del modello? O ha bisogno di accadere in entrambi i luoghi? Uno dei grandi offerte su DataAnnotations (e FluentValidation) era che si potrebbe avere la convalida in un unico luogo che funzionerebbe "ovunque". E si compie la promessa (per lo più), ma se comincio usando ViewModels, non mi perdere quella capacità e dover tornare a mettere la convalida in due posti?

o sono io solo a pensarci sbagliato?

È stato utile?

Soluzione

  

o sono io solo a pensarci sbagliato?

Probabilmente;)

Se si aggiunge tutto il codice di convalida per i tuoi ViewModels devi solo essere li convalidando invece dei vostri modelli attuali. Tutti i vostri davvero cambiando è che gli oggetti possono entrare in uno stato non valido.

In questo momento sono felice come torta solo convalidare ViewModels e poi passaggio che di nuovo le informazioni ai modelli attuali e strati DAO. O se non il dominio può entrare uno stato non valido è un argomento controverso se, ma finora questa tecnica sta lavorando molto per me. Validazione in un posto e nessun oggetto non validi nel mio deposito persistenza.

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