Saltar apartados

Validació modele BD

La validació sobre models de la BD és molt semblada que sobre les classes creades per nosaltres. Abans hem vist que per a poder definir les regles de validació, accedíem a la classe, incorporàvem una sèrie d'espais de noms per a després anar definint les característiques de cadascun de les propietats.

Açò es complica amb el model Entity Framework. El fitxer generat és molt extens, i a més és molt complicat trobar les nostres propietats. A més es complica una mica més si sabem que cada vegada que fem un canvi en l'estructura del model en la pròpia BD, i actualitzem el model en Visual Studio, es torna a generar per complet aquest fitxer.

Per tant és convenient traure les regles de validació del model i mantenir-ho aparte.

Per tant dins de la carpeta Models, anem a crear tantes classes com a models vulguem validar. No podem definir la classe tal qual, perquè entraria en conflicte per la generat per Entity Framework. La definim de tipus parcial.

Clase parcial para indicar las definiciones de los campos del modelo

Dins d'aquesta classe no definim gens perquè no anem a modificar-la, només volem definir els seus atributs de validació. Per a açò cal afegir una definició en la capçalera de la classe, en la qual indiquem que classe va a realitzar la validació. El normal és que aquesta nova classe estiga dins de la nova classe o almenys en el mateix fitxer, però fora de la classe partial. Tots els atributs vists anteriorment són aplicables per a models generats amb Entity Framework.

Clase para validar el modelo generado desde base de datos

Per tant tenim una classe i tipus partial amb el mateix nom que el model que volem validar i una altra classe només per a definir els atributs. Si volem indicar que el camp DESCRIPCION_ÉS és obligatori

Esquema básico de una clase que valida un modelo generado desde base de datos

El resultat seria el següent

Ejemplo para validar un modelo generado a partir de una base de datos

Servei d'Informàtica ASP.NET MVC 2 Framework


Universitat d'Alacant
Carretera de Sant Vicent del Raspeig s/n
03690 Sant Vicent del Raspeig
Alacant (Spain)

Tel: (+34) 96 590 3400

Fax: (+34) 96 590 3464

Per a més informació: informacio@ua.es, i per a temes relacionats amb aquest servidor web: webmaster@ua.es

Carretera de Sant Vicent del Raspeig, s/n - 03690 Sant Vicent del Raspeig - Alacant - Tel.: 96 590 3400 - Fax: 96 590 3464