Diferencia entre revisiones de «Validación»

De KumbiaPHP Framework Wiki
 
(No se muestran 10 ediciones intermedias de 2 usuarios)
Línea 6: Línea 6:
 
<?php
 
<?php
 
  class Clientes extends ActiveRecord {
 
  class Clientes extends ActiveRecord {
   public function __construct(){
+
   protected function initialize(){
 
     $this->validates_presence_of("cedula");
 
     $this->validates_presence_of("cedula");
 
   }
 
   }
Línea 22: Línea 22:
 
class Clientes extends ActiveRecord {
 
class Clientes extends ActiveRecord {
 
   
 
   
   public function __construct(){
+
   protected function initialize(){
 
   $this->validates_length_of("nombre", "minumum: 15", "too_short: El nombre debe tener al menos 15 caracteres");
 
   $this->validates_length_of("nombre", "minumum: 15", "too_short: El nombre debe tener al menos 15 caracteres");
 
   $this->validates_length_of("nombre", "maximum: 40", "too_long: El nombre debe tener maximo 40 caracteres");
 
   $this->validates_length_of("nombre", "maximum: 40", "too_long: El nombre debe tener maximo 40 caracteres");
Línea 37: Línea 37:
 
Valida que ciertos atributos tengan un valor numérico antes de insertar ó actualizar.  
 
Valida que ciertos atributos tengan un valor numérico antes de insertar ó actualizar.  
  
<source lang=php line>
+
<source lang=php>
 
<?php
 
<?php
  
 
  class Productos extends ActiveRecord {
 
  class Productos extends ActiveRecord {
 
   
 
   
   public function __construct(){
+
   protected function initialize{
 
     $this->validates_numericality_of("precio");
 
     $this->validates_numericality_of("precio");
 
   }
 
   }
Línea 54: Línea 54:
 
Valida que ciertos atributos tengan un formato de e-mail correcto antes de insertar o actualizar.  
 
Valida que ciertos atributos tengan un formato de e-mail correcto antes de insertar o actualizar.  
  
<source lang=php line>
+
<source lang=php>
 
<?php
 
<?php
 
  class Clientes extends ActiveRecord {
 
  class Clientes extends ActiveRecord {
 
   
 
   
   public function __construct(){
+
   protected function initialize(){
 
     $this->validates_email_in("correo");
 
     $this->validates_email_in("correo");
 
   }
 
   }
Línea 70: Línea 70:
 
Valida que ciertos atributos tengan un valor único antes de insertar o actualizar.  
 
Valida que ciertos atributos tengan un valor único antes de insertar o actualizar.  
  
<source lang=php line>
+
<source lang=php>
 
<?php
 
<?php
 
  class Clientes extends ActiveRecord {
 
  class Clientes extends ActiveRecord {
 
   
 
   
   public function __construct(){
+
   protected function initialize{
 
     $this->validates_uniqueness_of("cedula");
 
     $this->validates_uniqueness_of("cedula");
 
   }
 
   }
Línea 90: Línea 90:
 
  class Registro extends ActiveRecord {
 
  class Registro extends ActiveRecord {
 
   
 
   
   public function __construct(){
+
   protected function initialize(){
 
         $this->validates_date_in("fecha_registro");
 
         $this->validates_date_in("fecha_registro");
 
   }
 
   }
Línea 105: Línea 105:
 
  class Clientes extends ActiveRecord {
 
  class Clientes extends ActiveRecord {
 
   
 
   
   public function __construct(){
+
   protected function initialize(){
 
     $this->validates_format_of("email", "^(+)@((?:[?a?z0?9]+\.)+[a?z]{2,})$");
 
     $this->validates_format_of("email", "^(+)@((?:[?a?z0?9]+\.)+[a?z]{2,})$");
 
   }
 
   }

Revisión actual del 21:19 1 may 2017

validates_presence_of[editar]

Cuando este método es llamado desde el constructor de una clase ActiveRecord, obliga a que se valide la presencia de los campos definidos en la lista. Los campos marcados como not_null en la tabla son automáticamente validados.

<?php
 class Clientes extends ActiveRecord {
   protected function initialize(){
    $this->validates_presence_of("cedula");
   }
 }
7.?>

validates_length_of[editar]

Cuando este método es llamado desde el constructor de una clase ActiveRecord, obliga a que se valide la longitud de los campos definidos en la lista.

El parámetro minimum indica que se debe validar que el valor a insertar o actualizar no sea menor de ese tamaño. El parámetro maximum indica que el valor a insertar/actualizar no puede ser mayor al indicado. El parámetro too_short indica el mensaje personalizado que ActiveRecord mostrará en caso de que falle la validación cuando es menor y too_long cuando es muy largo.

class Clientes extends ActiveRecord {
 
  protected function initialize(){
   $this->validates_length_of("nombre", "minumum: 15", "too_short: El nombre debe tener al menos 15 caracteres");
   $this->validates_length_of("nombre", "maximum: 40", "too_long: El nombre debe tener maximo 40 caracteres");
   $this->validates_length_of("nombre", "in: 15:40", 
      "too_short: El nombre debe tener al menos 15 caracteres",
      "too_long: El nombre debe tener maximo 40 caracteres"
   );
  }
}

validates_numericality_of[editar]

Valida que ciertos atributos tengan un valor numérico antes de insertar ó actualizar.

<?php

 class Productos extends ActiveRecord {
 
   protected function initialize{
    $this->validates_numericality_of("precio");
   }
 
 }
?>

validates_email_in[editar]

Valida que ciertos atributos tengan un formato de e-mail correcto antes de insertar o actualizar.

<?php
 class Clientes extends ActiveRecord {
 
   protected function initialize(){
    $this->validates_email_in("correo");
   }
 
 }
?>

validates_uniqueness_of[editar]

Valida que ciertos atributos tengan un valor único antes de insertar o actualizar.

<?php
 class Clientes extends ActiveRecord {
 
   protected function initialize{
    $this->validates_uniqueness_of("cedula");
   }
 
 }
?>

validates_date_in[editar]

Valida que ciertos atributos tengan un formato de fecha acorde al indicado en config/config.ini antes de insertar o actualizar.

<?php
 class Registro extends ActiveRecord {
 
   protected function initialize(){
         $this->validates_date_in("fecha_registro");
   }
 }
?>

validates_format_of[editar]

Valida que el campo tenga determinado formato según una expresión regular antes de insertar o actualizar.

<?php
 class Clientes extends ActiveRecord {
 
   protected function initialize(){
    $this->validates_format_of("email", "^(+)@((?:[?a?z0?9]+\.)+[a?z]{2,})$");
   }
 
 }
?>