Validaciones
De CidesaWiki
| Línea 123: | Línea 123: | ||
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 y el codigo 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 y el codigo de lo que hace en cada uno de ellos, se encuentra en la siguiente dirección C:\AppServ\php5\PEAR\symfony\validator. | ||
| - | Nota: Para agregar otras validaciones del Negocio crear una funcion ValidateEdit(Modulo Generados con propel-init-admin) en el Actions.class.php está se ejecutara al mismo tiempo que las otras(al Guardar). | + | Nota: Para agregar otras validaciones del Negocio crear una funcion ValidateEdit(Modulo Generados con propel-init-admin) en el Actions.class.php está se ejecutara al mismo tiempo que las otras(al Guardar).Ejemplo de página Almregart. |
<pre> | <pre> | ||
private static $coderror=-1; | private static $coderror=-1; | ||
| Línea 156: | Línea 156: | ||
return sfView::SUCCESS; | return sfView::SUCCESS; | ||
} | } | ||
| - | + | ||
| - | + | </pre> | |
| - | + | ||
| - | + | Las validaciones del Actions.class.php ultilizan un manejador de errores que se encuentra creado en la carpeta '''config''' , el cual se llama errores.yml, el contiene los códigos de los errores. | |
| - | + | <pre> | |
| + | 1: | ||
| + | cod: 1 | ||
| + | msj: Nivel Anterior No Existe | ||
| + | 2: | ||
| + | cod: 2 | ||
| + | msj: El Codigo no puede estar en Blanco ó No puede Contener menos de 4 Carácteres | ||
</pre> | </pre> | ||
--[[Usuario:Desireé Martínez]] 08:55 17 abr 2007 (VET) | --[[Usuario:Desireé Martínez]] 08:55 17 abr 2007 (VET) | ||
Revisión de 20:00 26 abr 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:
- "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
validators: MyStringValidator6
caregart{desart}:
required: Yes
required_msg: El Descripción no puedo estar en Blanco
validators: MyStringValidator
caregart{ramart}:
required: No
validators: MyString2Validator
caregart{unimed}:
required: No
validators: MyString3Validator
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
MyStringValidator:
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
MyStringValidator6:
class: sfStringValidator
param:
min: 1
min_error: La Descripción no puede tener menos de 2 caracteres
MyString2Validator:
class: sfStringValidator
param:
min: 2
min_error: El Ramo del Articulo no puede tener menos de 2 caracteres
max:
max_error: El Estatus no puede pasar mas de 6 caracteres
MyString3Validator:
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 y el codigo de lo que hace en cada uno de ellos, se encuentra en la siguiente dirección C:\AppServ\php5\PEAR\symfony\validator.
Nota: Para agregar otras validaciones del Negocio crear una funcion ValidateEdit(Modulo Generados con propel-init-admin) en el Actions.class.php está se ejecutara al mismo tiempo que las otras(al Guardar).Ejemplo de página Almregart.
private static $coderror=-1;
public function validateEdit()
{
if($this->getRequest()->getMethod() == sfRequest::POST)
{
$this->caregart = $this->getCaregartOrCreate();
$this->updateCaregartFromRequest();
self::$coderror=Articulos::validarAlmregart($this->caregart);
if (self::$coderror<>-1)
{
return false;
}else return true;
}else return true;
}
public function handleErrorEdit()
{
$this->preExecute();
$this->caregart = $this->getCaregartOrCreate();
$this->updateCaregartFromRequest();
$this->labels = $this->getLabels();
if(!$this->validateEdit())
{
$err = Herramientas::obtenerMensajeError(self::$coderror);
$this->getRequest()->setError('caregart{codart}',$err);
}
return sfView::SUCCESS;
}
Las validaciones del Actions.class.php ultilizan un manejador de errores que se encuentra creado en la carpeta config , el cual se llama errores.yml, el contiene los códigos de los errores.
1: cod: 1 msj: Nivel Anterior No Existe 2: cod: 2 msj: El Codigo no puede estar en Blanco ó No puede Contener menos de 4 Carácteres
--Usuario:Desireé Martínez 08:55 17 abr 2007 (VET)