Validaciones en la vista

De CidesaWiki

(Diferencias entre revisiones)
Saltar a navegación, buscar
 
(2 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.
-
 
-
[[Imagen:Muestra.JPG‎]]
 
Línea 8: Línea 6:
methods:
methods:
   post:
   post:
-
   - "caregart{codart}"    
+
   - "fordefpry{codpro}"
-
   - "caregart{desart}"
+
   - "fordefpry{nompro}"      
-
   - "caregart{ramart}"
+
   - "fordefpry{codprg}"
-
   - "caregart{unimed}"
+
   - "fordefpry{ubigeo}"      
-
   - "caregart{unialt}"
+
   - "fordefpry{codemp}"
-
   - "caregart{relart}"
+
   - "fordefpry{uniejepri}"
-
   - "caregart{exitot}"  
+
   - "fordefpry{enupro}"                                        
-
   - "caregart{cosult}"
+
   - "fordefpry{objestnueeta}"
-
   - "caregart{cospro}"
+
   - "fordefpry{objestins}"
-
   - "caregart{invini}"
+
   - "fordefpry{objeesppro}"
-
    
+
   - "fordefpry{objpndes}"
 +
  - "fordefpry{respro}"
 +
  - "fordefpry{unimedres}"
 +
  - "fordefpry{benpro}"
 +
  - "fordefpry{codsta}"       
 +
             
names:  
names:  
-
   caregart{codart}:
+
   fordefpry{codpro}:
     required:  Yes
     required:  Yes
-
     required_msg: El Código del Articulo no puedo estar en Blanco        
+
     required_msg: El Código del Proyecto o Acción Centralizada no puedo estar en Blanco.
 +
    validators: UniqueValidator
-
   caregart{desart}:
+
   fordefpry{nompro}:
-
    required:  Yes
+
-
    required_msg: El Descripción no puedo estar en Blanco       
+
-
    validators: StringValidator_desart
+
-
   
+
-
  caregart{ramart}:
+
     required:  No
     required:  No
-
     validators: StringValidator_ramart
+
     validators: DescripcionValidator 
-
    
+
   
-
   caregart{unimed}:
+
   fordefpry{codprg}:
 +
    required:  No       
 +
    validators: ProgramaValidator
 +
   
 +
   fordefpry{ubigeo}:
     required:  No
     required:  No
-
     validators: StringValidator_unimed
+
     validators: UbicacionValidator
      
      
-
   caregart{unialt}:
+
   fordefpry{codemp}:
 +
    required:  No       
 +
    validators: ResponsableValidator             
 +
 
 +
  fordefpry{uniejepri}:
 +
    required:  No       
 +
    validators: EjecutoraValidator
 +
   
 +
  fordefpry{enupro}:
     required:  No
     required:  No
-
     validators: StringValidator_unialt
+
     validators: EnunciadoValidator
      
      
-
   caregart{relart}:
+
   fordefpry{objestnueeta}:
     required:  No
     required:  No
-
     validators: StringValidator_relart
+
     validators: NuevaEtapaValidator
      
      
-
   caregart{exitot}:
+
   fordefpry{objestins}:
     required:  No
     required:  No
-
     validators: MyNumberValidator
+
     validators: InstitucionalValidator
      
      
-
   caregart{cosult}:
+
   fordefpry{objeesppro}:
     required:  No
     required:  No
-
     validators: MyNumberValidator
+
     validators: ObjproyectoValidator
      
      
-
   caregart{cospro}:
+
   fordefpry{objpndes}:
     required:  No
     required:  No
-
     validators: MyNumberValidator
+
     validators: PndesValidator
 +
 
 +
  fordefpry{respro}:
 +
    required:  No
 +
    validators: ResultadoValidator
      
      
-
   caregart{invini}:
+
   fordefpry{unimedres}:
 +
    required:  No       
 +
    validators: MedidaValidator
 +
   
 +
  fordefpry{benpro}:
     required:  No
     required:  No
-
     validators: MyNumberValidator
+
     validators: BeneficiarioValidator
      
      
-
StringValidator_desart:
+
  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:      2
+
         min:      5
-
         min_error: La Descripción no puede tener menos de 2 caracteres
+
         min_error: El Nombre del Proyecto no puede tener menos de 5 carácteres
-
         max:      250
+
         max:      1000
-
         max_error: La Descripción no puede pasar mas de 250 caracteres
+
         max_error: El Nombre del Proyecto no puede tener más de 1000 carácteres
          
          
-
StringValidator_ramart:
+
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:      2
+
         min:      5
-
         min_error: El Ramo del Articulo no puede tener menos de 2 caracteres
+
         min_error: La Ubicación Geográfica no puede tener menos de 5 carácteres
-
         max:       
+
         max:      250
-
         max_error: El Ramo del Articulo no puede pasar mas de 6 caracteres
+
         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.
          
          
-
StringValidator_unimed:
+
EnunciadoValidator:
     class: sfStringValidator
     class: sfStringValidator
     param:
     param:
-
         min:      2
+
         min:      5
-
         min_error: La Unidad de Medida no puede tener menos de 2 caracteres
+
         min_error: El Enunciado del Problema no puede tener menos de 5 carácteres
-
         max:       
+
         max:      1000
-
         max_error: La Unidad de Medida no puede pasar mas de 15 caracteres
+
         max_error: El Enunciado del Problema no puede tener más de 1000 carácteres                   
-
StringValidator_unialt:
+
NuevaEtapaValidator:
     class: sfStringValidator
     class: sfStringValidator
     param:
     param:
-
         min:      2
+
         min:      5
-
         min_error: La Unidad Alternativa no puede tener menos de 2 caracteres
+
         min_error: El Objetivo Estratégico Nueva Etapa no puede tener menos de 5 carácteres
-
         max:      15
+
         max:      1000
-
         max_error: La Unidad Alternativa no puede pasar mas de 15 caracteres
+
         max_error: El Objetivo Estratégico Nueva Etapa no puede tener más de 1000 carácteres
-
 
+
       
-
StringValidator_relart:
+
InstitucionalValidator:
     class: sfStringValidator
     class: sfStringValidator
     param:
     param:
-
         min:      2
+
         min:      5
-
         min_error: La Relación no puede tener menos de 2 caracteres
+
         min_error: El Objetivo Estratégico Institucional no puede tener menos de 5 carácteres
-
         max:      25
+
         max:      1000
-
         max_error: La Relación no puede pasar mas de 25 caracteres
+
         max_error: El Objetivo Estratégico Institucional no puede tener más de 1000 carácteres
-
               
+
       
-
MyNumberValidator:
+
ObjproyectoValidator:
-
     class: sfNumberValidator
+
     class: sfStringValidator
     param:
     param:
-
         type:        float
+
         min:       5
-
         type_error:   Por favor, Introduzca Números Decimales             
+
         min_error: El Objetivo Específico del Proyecto no puede tener menos de 5 carácteres
-
         nan_error:   Por Favor, introduzca un Número Decimal
+
         max:       1000
-
         min:         0000000000.00
+
         max_error: El Objetivo Específico del Proyecto no puede tener más de 1000 carácteres
-
         min_error:   El valor tiene que ser mayor que cero
+
       
-
         max:         9999999999.99
+
PndesValidator:
-
         max_error:    El valor debe contener maximo 9999999999.99
+
    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 la base de datos, buscando en la tabla cpdefniv obteniendo los campos fecini y feccie
+
== Para Validar una fecha con respecto a una Tabla ==
 +
Se buscan en la tabla '''cpdefniv''' obteniendo los campos '''fecini''' y '''feccie'''
 +
 
<pre>
<pre>
   cadphart{feccot}:
   cadphart{feccot}:

Ú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)

Herramientas personales
Espacios de nombres
Variantes
Acciones
Navegación
Herramientas