Saltar apartados

Validación modelo BD

La validación sobre modelos de la BD es muy parecida que sobre las clases creadas por nosotros. Antes hemos visto que para poder definir las reglas de validación, accedíamos a la clase, incorporábamos una serie de espacios de nombres para luego ir definiendo las características de cada uno de las propiedades.

Esto se complica con el modelo Entity Framework. El fichero generado es muy extenso, y además es muy complicado encontrar nuestras propiedades. Además se complica algo más si sabemos que cada vez que hagamos un cambio en la estructura del modelo en la propia BD, y actualicemos el modelo en Visual Studio, se vuelve a generar por completo este fichero.

Por tanto es conveniente sacar las reglas de validación del modelo y mantenerlo aparte.

Por tanto dentro de la carpeta Models, vamos a crear tantas clases como modelos queramos validar. No podemos definir la clase tal cual, porque entraría en conflicto por la generado por Entity Framework. La definimos de tipo parcial.

Clase parcial para indicar las definiciones de los campos del modelo

Dentro de esta clase no definimos nada porque no vamos a modificarla, sólo queremos definir sus atributos de validación. Para ello hay que añadir una definición en la cabecera de la clase, en la que indiquemos que clase va a realizar la validación. Lo normal es que esta nueva clase esté dentro de la nueva clase o al menos en el mismo fichero, pero fuera de la clase partial. Todos los atributos vistos anteriormente son aplicables para modelos generados con Entity Framework.

Clase para validar el modelo generado desde base de datos

Por tanto tenemos una clase e tipo partial con el mismo nombre que el modelo que queremos validar y otra clase sólo para definir los atributos. Si queremos indicar que el campo DESCRIPCION_ES es obligatorio

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

El resultado sería el siguiente

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

Servicio de Informática ASP.NET MVC 2 Framework


Universidad de Alicante
Carretera de San Vicente del Raspeig s/n
03690 San Vicente del Raspeig
Alicante (Spain)

Tel: (+34) 96 590 3400

Fax: (+34) 96 590 3464

Para más información: informacio@ua.es, y para temas relacionados con este servidor Web: webmaster@ua.es

Carretera San Vicente del Raspeig s/n - 03690 San Vicente del Raspeig - Alicante - Tel. 96 590 3400 - Fax 96 590 3464