SlideShare una empresa de Scribd logo
CONSTRUCCIÓN
DE INTERFACES
DE USUARIO
1er Cuatrimestre de 2019
Validaciones
2
▸ Las validaciones son técnicas que permiten
asegurar que los valores con los que se vaya a
operar estén dentro de determinado dominio.
Validaciones
3
▸ Validaciones a nivel de Vista (View)
▹ Aquellas que deben ser realizadas sin la
necesidad de intervención del modelo
▹ La validación se realiza en la misma capa.
▹ Menos costosa
▸ Validaciones a nivel de Modelo
▹ Aquellas que deben ser realizadas por el
modelo dado que implican reglas de negocio.
▹ Deben se informadas a la capa View.
▹ Mas costosa
Validaciones a nivel Modelo
4
Regla importante:
Mensajes descriptivos que permitan al usuario
identificar claramente cuál regla de negocio no se
está cumpliendo y le permita continuar con el
proceso.
Validaciones a nivel Vista
5
▸ “Los km solo pueden ser valores numéricos”
▸ “El formato de fecha es inválido; debe ingresar el
formato dd/mm/aaaa”
▸ Debe ingresar un máximo de 20 dígitos ”
Validaciones a nivel Modelo
6
▸ “Debe ingresar un número de cliente válido”
▸ “Ya existe un capítulo con igual identificador para la serie
seleccionada”
En Arena las ventanas del tipo SimpleWindows manejan
UserException mostrando el mensaje de error
Excepciones
Manejo de errores
7
Son errores propios de la programación, que hace que
no sean modelados, simplemente ocurren y que
identificarlas y tratarlas
Ejemplos de errores:
- NullPointerException
- ArrayIndexOutOfBoundsException
- ArithmeticException
Validaciones a nivel Modelo
Elevar Excepciones
8
Elevar excepciones, ya sea las excepciones
existentes en Java/Kotlin o custom.
Validaciones a nivel Vista
en Arena
9
Tratar lasa excepciones elevadas por el modelo y
elevar la excepción de Arena UserException
try {
eliminarUsuariu(usuario)
}
catch (e: Exception) {
UserException("No se puede eliminar un usuario asociado a una
cuenta")
}
finally {
// optional finally block
}
10
¿Preguntas?
¿Demo?

Más contenido relacionado

Similar a 4.1. validaciones-y-excepciones

Fast tracktothecloud albertesplugas-mic-productivity-20110331.jpg
Fast tracktothecloud albertesplugas-mic-productivity-20110331.jpgFast tracktothecloud albertesplugas-mic-productivity-20110331.jpg
Fast tracktothecloud albertesplugas-mic-productivity-20110331.jpgMICProductivity
 
Presentación corporativa testhouse consultores - v 3.9.1
Presentación corporativa   testhouse consultores - v 3.9.1Presentación corporativa   testhouse consultores - v 3.9.1
Presentación corporativa testhouse consultores - v 3.9.1
Testhouse
 
Presentación corporativa testhouse consultores - v 3.9.1
Presentación corporativa   testhouse consultores - v 3.9.1Presentación corporativa   testhouse consultores - v 3.9.1
Presentación corporativa testhouse consultores - v 3.9.1
Javier Carrillo
 
Cadena de valor
Cadena de valorCadena de valor
Cadena de valor
Juan Carlos Fernández
 
GEAS- Sistema Comercial para Empresas de Energía y Aguas
GEAS- Sistema Comercial para Empresas de Energía y AguasGEAS- Sistema Comercial para Empresas de Energía y Aguas
GEAS- Sistema Comercial para Empresas de Energía y Aguas
SHS Consultores
 
asegurar la conexión a internet
asegurar la conexión a internetasegurar la conexión a internet
asegurar la conexión a internetFabio Chavez
 
Implantación Del Sistema de Inficiona
Implantación Del Sistema de Inficiona Implantación Del Sistema de Inficiona
Implantación Del Sistema de Inficiona
danielebm92
 
Implantación De
Implantación  De Implantación  De
Implantación De danielebm92
 
Implantación del Sistema de información
Implantación del Sistema de información Implantación del Sistema de información
Implantación del Sistema de información
danielebm92
 
Costos por Ordenes Especificas Presentacion.pptx
Costos por Ordenes Especificas Presentacion.pptxCostos por Ordenes Especificas Presentacion.pptx
Costos por Ordenes Especificas Presentacion.pptx
Jose Yusti
 
Presentacion costos 06.09.15
Presentacion costos 06.09.15Presentacion costos 06.09.15
Presentacion costos 06.09.15
Omniconsultores
 
Presentación: ¿ Cómo elegir la Plataforma ecommerce más adecuada para mi neg...
 Presentación: ¿ Cómo elegir la Plataforma ecommerce más adecuada para mi neg... Presentación: ¿ Cómo elegir la Plataforma ecommerce más adecuada para mi neg...
Presentación: ¿ Cómo elegir la Plataforma ecommerce más adecuada para mi neg...Cámara Argentina de Comercio Electrónico
 

Similar a 4.1. validaciones-y-excepciones (13)

Fast tracktothecloud albertesplugas-mic-productivity-20110331.jpg
Fast tracktothecloud albertesplugas-mic-productivity-20110331.jpgFast tracktothecloud albertesplugas-mic-productivity-20110331.jpg
Fast tracktothecloud albertesplugas-mic-productivity-20110331.jpg
 
Presentación corporativa testhouse consultores - v 3.9.1
Presentación corporativa   testhouse consultores - v 3.9.1Presentación corporativa   testhouse consultores - v 3.9.1
Presentación corporativa testhouse consultores - v 3.9.1
 
Presentación corporativa testhouse consultores - v 3.9.1
Presentación corporativa   testhouse consultores - v 3.9.1Presentación corporativa   testhouse consultores - v 3.9.1
Presentación corporativa testhouse consultores - v 3.9.1
 
Cadena de valor
Cadena de valorCadena de valor
Cadena de valor
 
GEAS- Sistema Comercial para Empresas de Energía y Aguas
GEAS- Sistema Comercial para Empresas de Energía y AguasGEAS- Sistema Comercial para Empresas de Energía y Aguas
GEAS- Sistema Comercial para Empresas de Energía y Aguas
 
asegurar la conexión a internet
asegurar la conexión a internetasegurar la conexión a internet
asegurar la conexión a internet
 
Implantación Del Sistema de Inficiona
Implantación Del Sistema de Inficiona Implantación Del Sistema de Inficiona
Implantación Del Sistema de Inficiona
 
Implantación De
Implantación  De Implantación  De
Implantación De
 
Implantación del Sistema de información
Implantación del Sistema de información Implantación del Sistema de información
Implantación del Sistema de información
 
Costos por Ordenes Especificas Presentacion.pptx
Costos por Ordenes Especificas Presentacion.pptxCostos por Ordenes Especificas Presentacion.pptx
Costos por Ordenes Especificas Presentacion.pptx
 
Gerencia de Calidad
Gerencia de CalidadGerencia de Calidad
Gerencia de Calidad
 
Presentacion costos 06.09.15
Presentacion costos 06.09.15Presentacion costos 06.09.15
Presentacion costos 06.09.15
 
Presentación: ¿ Cómo elegir la Plataforma ecommerce más adecuada para mi neg...
 Presentación: ¿ Cómo elegir la Plataforma ecommerce más adecuada para mi neg... Presentación: ¿ Cómo elegir la Plataforma ecommerce más adecuada para mi neg...
Presentación: ¿ Cómo elegir la Plataforma ecommerce más adecuada para mi neg...
 

Más de xavazque2

258939538 dumping
258939538 dumping258939538 dumping
258939538 dumping
xavazque2
 
380914324 poo-kotlin
380914324 poo-kotlin380914324 poo-kotlin
380914324 poo-kotlin
xavazque2
 
146817358 android
146817358 android146817358 android
146817358 android
xavazque2
 
Curso profesional-de-desarrollo-de-aplicaciones-android-con-kotlin
Curso profesional-de-desarrollo-de-aplicaciones-android-con-kotlinCurso profesional-de-desarrollo-de-aplicaciones-android-con-kotlin
Curso profesional-de-desarrollo-de-aplicaciones-android-con-kotlin
xavazque2
 
364196144 hogan-pensamiento-no-verbal-comunicacion-y-juego
364196144 hogan-pensamiento-no-verbal-comunicacion-y-juego364196144 hogan-pensamiento-no-verbal-comunicacion-y-juego
364196144 hogan-pensamiento-no-verbal-comunicacion-y-juego
xavazque2
 
325940441 motion-ui
325940441 motion-ui325940441 motion-ui
325940441 motion-ui
xavazque2
 
371081023 curso-desarrollo-android
371081023 curso-desarrollo-android371081023 curso-desarrollo-android
371081023 curso-desarrollo-android
xavazque2
 
3.1 mvc-mvvm-app model-binding
3.1 mvc-mvvm-app model-binding3.1 mvc-mvvm-app model-binding
3.1 mvc-mvvm-app model-binding
xavazque2
 
5.1. stateles stateful-protocolo_http
5.1. stateles stateful-protocolo_http5.1. stateles stateful-protocolo_http
5.1. stateles stateful-protocolo_http
xavazque2
 
435338801 programacion-mobile-android
435338801 programacion-mobile-android435338801 programacion-mobile-android
435338801 programacion-mobile-android
xavazque2
 
457126889 android-pdf
457126889 android-pdf457126889 android-pdf
457126889 android-pdf
xavazque2
 
266521557 apuntes-unidad-formativa-app-inventor
266521557 apuntes-unidad-formativa-app-inventor266521557 apuntes-unidad-formativa-app-inventor
266521557 apuntes-unidad-formativa-app-inventor
xavazque2
 
7. react js-1
7. react js-17. react js-1
7. react js-1
xavazque2
 
Tp1
Tp1Tp1
484719815 pidiendo-ayuda-a-los-angeles-pdf
484719815 pidiendo-ayuda-a-los-angeles-pdf484719815 pidiendo-ayuda-a-los-angeles-pdf
484719815 pidiendo-ayuda-a-los-angeles-pdf
xavazque2
 
484717855 transmutacion-de-energias-pdf
484717855 transmutacion-de-energias-pdf484717855 transmutacion-de-energias-pdf
484717855 transmutacion-de-energias-pdf
xavazque2
 
5.layouts
5.layouts5.layouts
5.layouts
xavazque2
 
6.2. js
6.2. js6.2. js
6.2. js
xavazque2
 
2.1. arena-y-binding
2.1. arena-y-binding2.1. arena-y-binding
2.1. arena-y-binding
xavazque2
 
411958729 curso-de-delphi-pdf
411958729 curso-de-delphi-pdf411958729 curso-de-delphi-pdf
411958729 curso-de-delphi-pdf
xavazque2
 

Más de xavazque2 (20)

258939538 dumping
258939538 dumping258939538 dumping
258939538 dumping
 
380914324 poo-kotlin
380914324 poo-kotlin380914324 poo-kotlin
380914324 poo-kotlin
 
146817358 android
146817358 android146817358 android
146817358 android
 
Curso profesional-de-desarrollo-de-aplicaciones-android-con-kotlin
Curso profesional-de-desarrollo-de-aplicaciones-android-con-kotlinCurso profesional-de-desarrollo-de-aplicaciones-android-con-kotlin
Curso profesional-de-desarrollo-de-aplicaciones-android-con-kotlin
 
364196144 hogan-pensamiento-no-verbal-comunicacion-y-juego
364196144 hogan-pensamiento-no-verbal-comunicacion-y-juego364196144 hogan-pensamiento-no-verbal-comunicacion-y-juego
364196144 hogan-pensamiento-no-verbal-comunicacion-y-juego
 
325940441 motion-ui
325940441 motion-ui325940441 motion-ui
325940441 motion-ui
 
371081023 curso-desarrollo-android
371081023 curso-desarrollo-android371081023 curso-desarrollo-android
371081023 curso-desarrollo-android
 
3.1 mvc-mvvm-app model-binding
3.1 mvc-mvvm-app model-binding3.1 mvc-mvvm-app model-binding
3.1 mvc-mvvm-app model-binding
 
5.1. stateles stateful-protocolo_http
5.1. stateles stateful-protocolo_http5.1. stateles stateful-protocolo_http
5.1. stateles stateful-protocolo_http
 
435338801 programacion-mobile-android
435338801 programacion-mobile-android435338801 programacion-mobile-android
435338801 programacion-mobile-android
 
457126889 android-pdf
457126889 android-pdf457126889 android-pdf
457126889 android-pdf
 
266521557 apuntes-unidad-formativa-app-inventor
266521557 apuntes-unidad-formativa-app-inventor266521557 apuntes-unidad-formativa-app-inventor
266521557 apuntes-unidad-formativa-app-inventor
 
7. react js-1
7. react js-17. react js-1
7. react js-1
 
Tp1
Tp1Tp1
Tp1
 
484719815 pidiendo-ayuda-a-los-angeles-pdf
484719815 pidiendo-ayuda-a-los-angeles-pdf484719815 pidiendo-ayuda-a-los-angeles-pdf
484719815 pidiendo-ayuda-a-los-angeles-pdf
 
484717855 transmutacion-de-energias-pdf
484717855 transmutacion-de-energias-pdf484717855 transmutacion-de-energias-pdf
484717855 transmutacion-de-energias-pdf
 
5.layouts
5.layouts5.layouts
5.layouts
 
6.2. js
6.2. js6.2. js
6.2. js
 
2.1. arena-y-binding
2.1. arena-y-binding2.1. arena-y-binding
2.1. arena-y-binding
 
411958729 curso-de-delphi-pdf
411958729 curso-de-delphi-pdf411958729 curso-de-delphi-pdf
411958729 curso-de-delphi-pdf
 

Último

(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
vazquezgarciajesusma
 
Estructuras básicas_ conceptos de programación (1).docx
Estructuras básicas_ conceptos de programación  (1).docxEstructuras básicas_ conceptos de programación  (1).docx
Estructuras básicas_ conceptos de programación (1).docx
SamuelRamirez83524
 
Ventajas y desventajas de la desinfección con cloro
Ventajas y desventajas de la desinfección con cloroVentajas y desventajas de la desinfección con cloro
Ventajas y desventajas de la desinfección con cloro
durangense277
 
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTALINFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
CrystalRomero18
 
Conceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación ProyectoConceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación Proyecto
cofferub
 
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptxleidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
Leidyfuentes19
 
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
sarasofiamontezuma
 
biogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectosbiogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectos
Luis Enrique Zafra Haro
 
Conceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdfConceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdf
ValeriaAyala48
 
Desarrollo de habilidades de pensamiento (2).pdf
Desarrollo de habilidades de pensamiento (2).pdfDesarrollo de habilidades de pensamiento (2).pdf
Desarrollo de habilidades de pensamiento (2).pdf
samuelvideos
 
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfTRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
thomasdcroz38
 
Inteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdfInteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdf
Emilio Casbas
 
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
cj3806354
 
proyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmusproyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmus
raquelariza02
 
maestria-motores-combustion-interna-alternativos (1).pdf
maestria-motores-combustion-interna-alternativos (1).pdfmaestria-motores-combustion-interna-alternativos (1).pdf
maestria-motores-combustion-interna-alternativos (1).pdf
JimmyTejadaSalizar
 
3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto
cdraco
 
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdfEstructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
IsabellaRubio6
 
Diagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestreDiagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestre
rafaelsalazar0615
 
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...
espinozaernesto427
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
vazquezgarciajesusma
 

Último (20)

(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
 
Estructuras básicas_ conceptos de programación (1).docx
Estructuras básicas_ conceptos de programación  (1).docxEstructuras básicas_ conceptos de programación  (1).docx
Estructuras básicas_ conceptos de programación (1).docx
 
Ventajas y desventajas de la desinfección con cloro
Ventajas y desventajas de la desinfección con cloroVentajas y desventajas de la desinfección con cloro
Ventajas y desventajas de la desinfección con cloro
 
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTALINFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
 
Conceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación ProyectoConceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación Proyecto
 
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptxleidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
 
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
 
biogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectosbiogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectos
 
Conceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdfConceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdf
 
Desarrollo de habilidades de pensamiento (2).pdf
Desarrollo de habilidades de pensamiento (2).pdfDesarrollo de habilidades de pensamiento (2).pdf
Desarrollo de habilidades de pensamiento (2).pdf
 
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfTRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
 
Inteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdfInteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdf
 
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
 
proyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmusproyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmus
 
maestria-motores-combustion-interna-alternativos (1).pdf
maestria-motores-combustion-interna-alternativos (1).pdfmaestria-motores-combustion-interna-alternativos (1).pdf
maestria-motores-combustion-interna-alternativos (1).pdf
 
3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto
 
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdfEstructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
 
Diagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestreDiagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestre
 
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
 

4.1. validaciones-y-excepciones

  • 2. Validaciones 2 ▸ Las validaciones son técnicas que permiten asegurar que los valores con los que se vaya a operar estén dentro de determinado dominio.
  • 3. Validaciones 3 ▸ Validaciones a nivel de Vista (View) ▹ Aquellas que deben ser realizadas sin la necesidad de intervención del modelo ▹ La validación se realiza en la misma capa. ▹ Menos costosa ▸ Validaciones a nivel de Modelo ▹ Aquellas que deben ser realizadas por el modelo dado que implican reglas de negocio. ▹ Deben se informadas a la capa View. ▹ Mas costosa
  • 4. Validaciones a nivel Modelo 4 Regla importante: Mensajes descriptivos que permitan al usuario identificar claramente cuál regla de negocio no se está cumpliendo y le permita continuar con el proceso.
  • 5. Validaciones a nivel Vista 5 ▸ “Los km solo pueden ser valores numéricos” ▸ “El formato de fecha es inválido; debe ingresar el formato dd/mm/aaaa” ▸ Debe ingresar un máximo de 20 dígitos ”
  • 6. Validaciones a nivel Modelo 6 ▸ “Debe ingresar un número de cliente válido” ▸ “Ya existe un capítulo con igual identificador para la serie seleccionada” En Arena las ventanas del tipo SimpleWindows manejan UserException mostrando el mensaje de error
  • 7. Excepciones Manejo de errores 7 Son errores propios de la programación, que hace que no sean modelados, simplemente ocurren y que identificarlas y tratarlas Ejemplos de errores: - NullPointerException - ArrayIndexOutOfBoundsException - ArithmeticException
  • 8. Validaciones a nivel Modelo Elevar Excepciones 8 Elevar excepciones, ya sea las excepciones existentes en Java/Kotlin o custom.
  • 9. Validaciones a nivel Vista en Arena 9 Tratar lasa excepciones elevadas por el modelo y elevar la excepción de Arena UserException try { eliminarUsuariu(usuario) } catch (e: Exception) { UserException("No se puede eliminar un usuario asociado a una cuenta") } finally { // optional finally block }