Validaciones en la vista

De CidesaWiki

Saltar a navegación, buscar

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: MyString4Validator
    
  caregart{relart}:
    required:  No
    validators: MyString5Validator
    
  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:       0
        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

MyString4Validator:
    class: sfStringValidator
    param:
        min:       0
        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

MyString5Validator:
    class: sfStringValidator
    param:
        min:       0
        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.

--Desi 16:23 26 abr 2007 (VET)

Herramientas personales
Espacios de nombres
Variantes
Acciones
Navegación
Herramientas