Validaciones en la vista

De CidesaWiki

(Diferencias entre revisiones)
Saltar a navegación, buscar
Línea 116: Línea 116:
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
 +
<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)

Revisión de 14:27 6 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.

Muestra.JPG


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:
   - "caregart{codart}"      
   - "caregart{desart}"
   - "caregart{ramart}"
   - "caregart{unimed}"
   - "caregart{unialt}"
   - "caregart{relart}"
   - "caregart{exitot}"   
   - "caregart{cosult}"
   - "caregart{cospro}"
   - "caregart{invini}"
   
names: 
  caregart{codart}:
    required:  Yes
    required_msg: El Código del Articulo no puedo estar en Blanco          

  caregart{desart}:
    required:  Yes
    required_msg: El Descripción no puedo estar en Blanco        
    validators: StringValidator_desart
    
  caregart{ramart}:
    required:  No
    validators: StringValidator_ramart
  
  caregart{unimed}:
    required:  No
    validators: StringValidator_unimed
    
  caregart{unialt}:
    required:  No
    validators: StringValidator_unialt
    
  caregart{relart}:
    required:  No
    validators: StringValidator_relart
    
  caregart{exitot}:
    required:  No
    validators: MyNumberValidator
    
  caregart{cosult}:
    required:  No
    validators: MyNumberValidator
    
  caregart{cospro}:
    required:  No
    validators: MyNumberValidator
    
  caregart{invini}:
    required:  No
    validators: MyNumberValidator
    
StringValidator_desart:
    class: sfStringValidator
    param:
        min:       2
        min_error: La Descripción no puede tener menos de 2 caracteres
        max:       250
        max_error: La Descripción no puede pasar mas de 250 caracteres
        
StringValidator_ramart:
    class: sfStringValidator
    param:
        min:       2
        min_error: El Ramo del Articulo no puede tener menos de 2 caracteres
        max:       
        max_error: El Ramo del Articulo no puede pasar mas de 6 caracteres
        
StringValidator_unimed:
    class: sfStringValidator
    param:
        min:       2
        min_error: La Unidad de Medida no puede tener menos de 2 caracteres
        max:       
        max_error: La Unidad de Medida no puede pasar mas de 15 caracteres

StringValidator_unialt:
    class: sfStringValidator
    param:
        min:       2
        min_error: La Unidad Alternativa no puede tener menos de 2 caracteres
        max:       15
        max_error: La Unidad Alternativa no puede pasar mas de 15 caracteres

StringValidator_relart:
    class: sfStringValidator
    param:
        min:       2
        min_error: La Relación no puede tener menos de 2 caracteres
        max:       25 
        max_error: La Relación no puede pasar mas de 25 caracteres
                
MyNumberValidator:
    class: sfNumberValidator
    param:
        type:         float
        type_error:   Por favor, Introduzca Números Decimales               
        nan_error:    Por Favor, introduzca un Número Decimal
        min:          0000000000.00
        min_error:    El valor tiene que ser mayor que cero
        max:          9999999999.99
        max_error:    El valor debe contener maximo 9999999999.99

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.

  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