KumbiaPHP nos permite validar ciertos datos antes de que estos vayan hacer registrados en la base de datos, con lo cual nos podríamos ahorrar mucho tiempo y esfuerzo ya que estas validaciones se ejecutaran siempre sin importar el método que se este usando.Para hacer uso de esta característica es necesario que en el método initialize, se agreguen las validaciones, como su nombre lo indica este método se ejecutara cada vez que se utiliza el modelo.

Lista de métodos de validaciones.

  • validates_presence_of, Valida que el campo no sea nulo.
  • validates_length_of, Valida el tamaño de una cadena (mínimo y máximo).
  • validates_email_in, Verificamos que la cadena tenga formato de una email valido.
  • validates_uniqueness_of, Validamos que el valor no se repita en algún otro registro.
  • validates_date_in, Valida que ciertos atributos tengan un formato de fecha acorde al indicado en config/config.ini antes de insertar o actualizar
  • validates_numericality_of, Valida que ciertos atributos tengan un valor numérico
  • validates_format_of, Valida que el campo tenga determinado formato según una expresión regular
  • validates_exclusion_of, Valida que el campo no se encuentre entre los valores de una lista
  • validates_inclusion_in, Valida que el campo se encuentre entre los valores de una lista

Ejemplo de como utilizar esta validaciones, el contexto de la validación es para el registro de usuarios. De esta manera los mensajes se nos desplegaran en la vista al  momento de que no se cumplan.

El código anterior fue tomado de https://github.com/govaniso/backend_kumbia/blob/master/default/app/models/admin/usuarios.php y adaptado para este ejemplo.

 

Artículo origen

7 comentarios en «Validaciones nativas en nuestro modelo KumbiaPHP»
  1. Hola, soy nuevo en kumbiaphp, y he intentado estas validaciones y no me funcionan, mi pregunta en si es la siguiente, estas validaciones como las muestro en mis vistas?

    1. You’re welcome. I tried to tread that thin line between “encourage” an#&282d1;spoiler” that makes writing reviews so hard. I can’t always stay on the line, but I try.Wizardbear (aka Joseph)

  2. Hola buenos días… estoy intentando utilizar validaciones nativas, pero no logro hacerlas funcionar… las validaciones van en el modelo verdad?
    En el ejemplo
    $this->validates_presence_of(‘login’, ‘message: Debe escribir un Login para el Usuario’);
    ‘login’ es el id del input en la vista? o el nombre del campo de la tabla en la BD?

    1. Es el nombre del campo de la tabla.

      La validación se hace antes de insertar y al detectar que no se encuentra muestra el error.

      Sigue sin funcionar, o puedes mostrarme algo de código para darle un vistazo!

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *