Validaciones en la vista
De CidesaWiki
(3 ediciones intermedias no se muestran.) | |||
Línea 1: | Línea 1: | ||
Para realizar las validaciones a una forma debemos: En caso de módulos generados por el propel-init-admin: Crear una carpeta llamada validate y dentro de ella crear un archivo llamado edit.yml y para otro caso módulos generados con el init-module la carpeta validate ya viene por defecto solo debemos crear el archivo .yml debe llamarse a la accion que se va a ejecutar ejemplo edit. | Para realizar las validaciones a una forma debemos: En caso de módulos generados por el propel-init-admin: Crear una carpeta llamada validate y dentro de ella crear un archivo llamado edit.yml y para otro caso módulos generados con el init-module la carpeta validate ya viene por defecto solo debemos crear el archivo .yml debe llamarse a la accion que se va a ejecutar ejemplo edit. | ||
- | |||
- | |||
Línea 8: | Línea 6: | ||
methods: | methods: | ||
post: | post: | ||
- | - " | + | - "fordefpry{codpro}" |
- | - " | + | - "fordefpry{nompro}" |
- | - " | + | - "fordefpry{codprg}" |
- | - " | + | - "fordefpry{ubigeo}" |
- | - " | + | - "fordefpry{codemp}" |
- | - " | + | - "fordefpry{uniejepri}" |
- | - " | + | - "fordefpry{enupro}" |
- | - " | + | - "fordefpry{objestnueeta}" |
- | - " | + | - "fordefpry{objestins}" |
- | - " | + | - "fordefpry{objeesppro}" |
- | + | - "fordefpry{objpndes}" | |
+ | - "fordefpry{respro}" | ||
+ | - "fordefpry{unimedres}" | ||
+ | - "fordefpry{benpro}" | ||
+ | - "fordefpry{codsta}" | ||
+ | |||
names: | names: | ||
- | + | fordefpry{codpro}: | |
required: Yes | required: Yes | ||
- | required_msg: El Código del | + | required_msg: El Código del Proyecto o Acción Centralizada no puedo estar en Blanco. |
+ | validators: UniqueValidator | ||
- | + | fordefpry{nompro}: | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
required: No | required: No | ||
- | validators: | + | validators: DescripcionValidator |
- | + | ||
- | + | fordefpry{codprg}: | |
+ | required: No | ||
+ | validators: ProgramaValidator | ||
+ | |||
+ | fordefpry{ubigeo}: | ||
required: No | required: No | ||
- | validators: | + | validators: UbicacionValidator |
- | + | fordefpry{codemp}: | |
+ | required: No | ||
+ | validators: ResponsableValidator | ||
+ | |||
+ | fordefpry{uniejepri}: | ||
+ | required: No | ||
+ | validators: EjecutoraValidator | ||
+ | |||
+ | fordefpry{enupro}: | ||
required: No | required: No | ||
- | validators: | + | validators: EnunciadoValidator |
- | + | fordefpry{objestnueeta}: | |
required: No | required: No | ||
- | validators: | + | validators: NuevaEtapaValidator |
- | + | fordefpry{objestins}: | |
required: No | required: No | ||
- | validators: | + | validators: InstitucionalValidator |
- | + | fordefpry{objeesppro}: | |
required: No | required: No | ||
- | validators: | + | validators: ObjproyectoValidator |
- | + | fordefpry{objpndes}: | |
required: No | required: No | ||
- | validators: | + | validators: PndesValidator |
+ | |||
+ | fordefpry{respro}: | ||
+ | required: No | ||
+ | validators: ResultadoValidator | ||
- | + | fordefpry{unimedres}: | |
+ | required: No | ||
+ | validators: MedidaValidator | ||
+ | |||
+ | fordefpry{benpro}: | ||
required: No | required: No | ||
- | validators: | + | validators: BeneficiarioValidator |
- | + | fordefpry{codsta}: | |
+ | required: No | ||
+ | validators: EstatusValidator | ||
+ | |||
+ | UniqueValidator: | ||
+ | class: sfPropelUniqueValidator | ||
+ | param: | ||
+ | class: Fordefpry | ||
+ | column: codpro | ||
+ | unique_error: El Código del Proyecto o Acción Centralizada ya existe. Por Favor, Cambiélo por otro. | ||
+ | |||
+ | DescripcionValidator: | ||
class: sfStringValidator | class: sfStringValidator | ||
param: | param: | ||
- | min: | + | min: 5 |
- | min_error: | + | min_error: El Nombre del Proyecto no puede tener menos de 5 carácteres |
- | max: | + | max: 1000 |
- | max_error: | + | max_error: El Nombre del Proyecto no puede tener más de 1000 carácteres |
- | + | ProgramaValidator: | |
+ | class: CidesaExistValidator | ||
+ | param: | ||
+ | class: Fordefprg | ||
+ | column: codprg | ||
+ | unique_error: El Código del Programa no existe. | ||
+ | |||
+ | UbicacionValidator: | ||
class: sfStringValidator | class: sfStringValidator | ||
param: | param: | ||
- | min: | + | min: 5 |
- | min_error: | + | min_error: La Ubicación Geográfica no puede tener menos de 5 carácteres |
- | max: | + | max: 250 |
- | max_error: El | + | max_error: La Ubicación Geográfica no puede tener más de 250 carácteres |
+ | |||
+ | ResponsableValidator: | ||
+ | class: CidesaExistValidator | ||
+ | param: | ||
+ | class: Nphojint | ||
+ | column: codemp | ||
+ | unique_error: El Código del Responsable no existe. | ||
+ | |||
+ | EjecutoraValidator: | ||
+ | class: CidesaExistValidator | ||
+ | param: | ||
+ | class: Fordefcatpre | ||
+ | column: codcat | ||
+ | unique_error: El Código de la Unidad Ejecutora no existe. | ||
- | + | EnunciadoValidator: | |
class: sfStringValidator | class: sfStringValidator | ||
param: | param: | ||
- | min: | + | min: 5 |
- | min_error: | + | min_error: El Enunciado del Problema no puede tener menos de 5 carácteres |
- | max: | + | max: 1000 |
- | max_error: | + | max_error: El Enunciado del Problema no puede tener más de 1000 carácteres |
- | + | NuevaEtapaValidator: | |
class: sfStringValidator | class: sfStringValidator | ||
param: | param: | ||
- | min: | + | min: 5 |
- | min_error: | + | min_error: El Objetivo Estratégico Nueva Etapa no puede tener menos de 5 carácteres |
- | max: | + | max: 1000 |
- | max_error: | + | max_error: El Objetivo Estratégico Nueva Etapa no puede tener más de 1000 carácteres |
- | + | ||
- | + | InstitucionalValidator: | |
class: sfStringValidator | class: sfStringValidator | ||
param: | param: | ||
- | min: | + | min: 5 |
- | min_error: | + | min_error: El Objetivo Estratégico Institucional no puede tener menos de 5 carácteres |
- | max: | + | max: 1000 |
- | max_error: | + | max_error: El Objetivo Estratégico Institucional no puede tener más de 1000 carácteres |
- | + | ||
- | + | ObjproyectoValidator: | |
- | class: | + | class: sfStringValidator |
param: | param: | ||
- | + | min: 5 | |
- | + | min_error: El Objetivo Específico del Proyecto no puede tener menos de 5 carácteres | |
- | + | max: 1000 | |
- | min: | + | max_error: El Objetivo Específico del Proyecto no puede tener más de 1000 carácteres |
- | min_error: | + | |
- | max: | + | PndesValidator: |
- | max_error: El | + | class: sfStringValidator |
- | + | param: | |
+ | min: 5 | ||
+ | min_error: El Objetivo PNDES no puede tener menos de 5 carácteres | ||
+ | max: 250 | ||
+ | max_error: El Objetivo PNDES no puede tener más de 250 carácteres | ||
+ | |||
+ | ResultadoValidator: | ||
+ | class: sfStringValidator | ||
+ | param: | ||
+ | min: 5 | ||
+ | min_error: El Resultado del Proyecto no puede tener menos de 5 carácteres | ||
+ | max: 1000 | ||
+ | max_error: El Resultado del Proyecto no puede tener más de 1000 carácteres | ||
+ | |||
+ | MedidaValidator: | ||
+ | class: CidesaExistValidator | ||
+ | param: | ||
+ | class: Fordefunimed | ||
+ | column: codunimed | ||
+ | unique_error: El Código de la Unidad de Medida no existe. | ||
+ | |||
+ | BeneficiarioValidator: | ||
+ | class: sfStringValidator | ||
+ | param: | ||
+ | min: 5 | ||
+ | min_error: El Beneficiario no puede tener menos de 5 carácteres | ||
+ | max: 250 | ||
+ | max_error: El Beneficiario no puede tener más de 250 carácteres | ||
+ | |||
+ | EstatusValidator: | ||
+ | class: CidesaExistValidator | ||
+ | param: | ||
+ | class: Fordefsta | ||
+ | column: codsta | ||
+ | unique_error: El Código del Estatus no existe. | ||
</pre> | </pre> | ||
En este ejemplo, se encuentran algunos de los Estándares de Validación(sfNumberValidator y sfStringValidator) de symfony. Los demas se encuentra en capitulo 10 Libro de Symfony. Y el código de lo que hace en cada uno de ellos, se encuentra en la siguiente dirección C:\AppServ\php5\PEAR\symfony\validator. | En este ejemplo, se encuentran algunos de los Estándares de Validación(sfNumberValidator y sfStringValidator) de symfony. Los demas se encuentra en capitulo 10 Libro de Symfony. Y el código de lo que hace en cada uno de ellos, se encuentra en la siguiente dirección C:\AppServ\php5\PEAR\symfony\validator. | ||
+ | == Para Validar una fecha con respecto a una Tabla == | ||
+ | Se buscan en la tabla '''cpdefniv''' obteniendo los campos '''fecini''' y '''feccie''' | ||
+ | |||
+ | <pre> | ||
+ | cadphart{feccot}: | ||
+ | required: Yes | ||
+ | required_msg: La Fecha no puedo estar en Blanco | ||
+ | validators: FechaValidator | ||
+ | |||
+ | FechaValidator: | ||
+ | class: CidesaDateValidator | ||
+ | param: | ||
+ | class: Cpdefniv | ||
+ | columnmin: fecini | ||
+ | columnmax: feccie | ||
+ | min_error: La Fecha Especificada no puede ser Menor a la Fecha de Inicio del Período | ||
+ | max_error: La Fecha Especificada no puede ser Mayor a la Fecha de Inicio del Período | ||
+ | date_error: Fecha Inválida | ||
+ | </pre> | ||
--[[Usuario:Desi|Desi]] 16:23 26 abr 2007 (VET) | --[[Usuario:Desi|Desi]] 16:23 26 abr 2007 (VET) |
Última versión de 14:19 29 jun 2007
Para realizar las validaciones a una forma debemos: En caso de módulos generados por el propel-init-admin: Crear una carpeta llamada validate y dentro de ella crear un archivo llamado edit.yml y para otro caso módulos generados con el init-module la carpeta validate ya viene por defecto solo debemos crear el archivo .yml debe llamarse a la accion que se va a ejecutar ejemplo edit.
El archivo edit.yml contiene lo siguiente: methods se declara el metodo post con los campos que se van a validar al momento de guardar. names se coloca cada uno de los campos con sus mensajes(si tienen y si son requeridos o no), y llamamos el validators respectivo al campo. Y al final creamos los validators segun las validaciones que tenga que hacersele a los campos.
methods: post: - "fordefpry{codpro}" - "fordefpry{nompro}" - "fordefpry{codprg}" - "fordefpry{ubigeo}" - "fordefpry{codemp}" - "fordefpry{uniejepri}" - "fordefpry{enupro}" - "fordefpry{objestnueeta}" - "fordefpry{objestins}" - "fordefpry{objeesppro}" - "fordefpry{objpndes}" - "fordefpry{respro}" - "fordefpry{unimedres}" - "fordefpry{benpro}" - "fordefpry{codsta}" names: fordefpry{codpro}: required: Yes required_msg: El Código del Proyecto o Acción Centralizada no puedo estar en Blanco. validators: UniqueValidator fordefpry{nompro}: required: No validators: DescripcionValidator fordefpry{codprg}: required: No validators: ProgramaValidator fordefpry{ubigeo}: required: No validators: UbicacionValidator fordefpry{codemp}: required: No validators: ResponsableValidator fordefpry{uniejepri}: required: No validators: EjecutoraValidator fordefpry{enupro}: required: No validators: EnunciadoValidator fordefpry{objestnueeta}: required: No validators: NuevaEtapaValidator fordefpry{objestins}: required: No validators: InstitucionalValidator fordefpry{objeesppro}: required: No validators: ObjproyectoValidator fordefpry{objpndes}: required: No validators: PndesValidator fordefpry{respro}: required: No validators: ResultadoValidator fordefpry{unimedres}: required: No validators: MedidaValidator fordefpry{benpro}: required: No validators: BeneficiarioValidator fordefpry{codsta}: required: No validators: EstatusValidator UniqueValidator: class: sfPropelUniqueValidator param: class: Fordefpry column: codpro unique_error: El Código del Proyecto o Acción Centralizada ya existe. Por Favor, Cambiélo por otro. DescripcionValidator: class: sfStringValidator param: min: 5 min_error: El Nombre del Proyecto no puede tener menos de 5 carácteres max: 1000 max_error: El Nombre del Proyecto no puede tener más de 1000 carácteres ProgramaValidator: class: CidesaExistValidator param: class: Fordefprg column: codprg unique_error: El Código del Programa no existe. UbicacionValidator: class: sfStringValidator param: min: 5 min_error: La Ubicación Geográfica no puede tener menos de 5 carácteres max: 250 max_error: La Ubicación Geográfica no puede tener más de 250 carácteres ResponsableValidator: class: CidesaExistValidator param: class: Nphojint column: codemp unique_error: El Código del Responsable no existe. EjecutoraValidator: class: CidesaExistValidator param: class: Fordefcatpre column: codcat unique_error: El Código de la Unidad Ejecutora no existe. EnunciadoValidator: class: sfStringValidator param: min: 5 min_error: El Enunciado del Problema no puede tener menos de 5 carácteres max: 1000 max_error: El Enunciado del Problema no puede tener más de 1000 carácteres NuevaEtapaValidator: class: sfStringValidator param: min: 5 min_error: El Objetivo Estratégico Nueva Etapa no puede tener menos de 5 carácteres max: 1000 max_error: El Objetivo Estratégico Nueva Etapa no puede tener más de 1000 carácteres InstitucionalValidator: class: sfStringValidator param: min: 5 min_error: El Objetivo Estratégico Institucional no puede tener menos de 5 carácteres max: 1000 max_error: El Objetivo Estratégico Institucional no puede tener más de 1000 carácteres ObjproyectoValidator: class: sfStringValidator param: min: 5 min_error: El Objetivo Específico del Proyecto no puede tener menos de 5 carácteres max: 1000 max_error: El Objetivo Específico del Proyecto no puede tener más de 1000 carácteres PndesValidator: class: sfStringValidator param: min: 5 min_error: El Objetivo PNDES no puede tener menos de 5 carácteres max: 250 max_error: El Objetivo PNDES no puede tener más de 250 carácteres ResultadoValidator: class: sfStringValidator param: min: 5 min_error: El Resultado del Proyecto no puede tener menos de 5 carácteres max: 1000 max_error: El Resultado del Proyecto no puede tener más de 1000 carácteres MedidaValidator: class: CidesaExistValidator param: class: Fordefunimed column: codunimed unique_error: El Código de la Unidad de Medida no existe. BeneficiarioValidator: class: sfStringValidator param: min: 5 min_error: El Beneficiario no puede tener menos de 5 carácteres max: 250 max_error: El Beneficiario no puede tener más de 250 carácteres EstatusValidator: class: CidesaExistValidator param: class: Fordefsta column: codsta unique_error: El Código del Estatus no existe.
En este ejemplo, se encuentran algunos de los Estándares de Validación(sfNumberValidator y sfStringValidator) de symfony. Los demas se encuentra en capitulo 10 Libro de Symfony. Y el código de lo que hace en cada uno de ellos, se encuentra en la siguiente dirección C:\AppServ\php5\PEAR\symfony\validator.
Para Validar una fecha con respecto a una Tabla
Se buscan en la tabla cpdefniv obteniendo los campos fecini y feccie
cadphart{feccot}: required: Yes required_msg: La Fecha no puedo estar en Blanco validators: FechaValidator FechaValidator: class: CidesaDateValidator param: class: Cpdefniv columnmin: fecini columnmax: feccie min_error: La Fecha Especificada no puede ser Menor a la Fecha de Inicio del Período max_error: La Fecha Especificada no puede ser Mayor a la Fecha de Inicio del Período date_error: Fecha Inválida
--Desi 16:23 26 abr 2007 (VET)