Aún no tienes acceso a esta clase

Crea una cuenta y continúa viendo este curso

Validaciones: explorando más parameters

13/20
Recursos

Aportes 10

Preguntas 0

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.

Más sobre validaciones

Para especificar las validaciones, debemos pasarle como parámetros a la función Query lo que necesitemos validar.

Para tipos de datos str:

  • max_length : Para especificar el tamaño máximo de la cadena.
  • min_length : Para especificar el tamaño minimo de la cadena.
  • regex : Para especificar expresiones regulares.


Para tipos de datos int:

  • ge : (greater or equal than ) Para especificar que el valor debe ser mayor o igual.
  • le : (less or equal than ) Para especificar que el valor debe ser menor o igual.
  • gt : (greater than >) Para especificar que el valor debe ser mayor.
  • lt : (less than <) Para especificar que el valor debe ser menor.

    Ejemplo de uso:
# Validaciones de un nombre de usuario.
Query(None, min_length=1, max_length=50)):


Es posible dotar de mayor contexto a nuestra documentación. Se deben usar los parámetros title y description.

  • title : Para definir un título al parámetro.
  • description : Para especificar una descripción al parámetro.


Ejemplo de uso:

# Validaciones para un Identificador.
Query(
	None, 
	title="ID del usuario", 
	description="El ID se consigue entrando a las configuraciones del perfil");

Mis apuntes: 😎

Para validar strings:
max_length
min_length
regex

Para validar números
ge - greater or equal than >= (Mayor igual que)
le - less or equal than <= (Menor igual que)
gt - greater than > (Mayor)
lt - less than < (Menor)

Les dejo por aquí una cheat sheet de regex: https://www.rexegg.com/regex-quickstart.html

Les comparto como seria el regex para validar un email
.+ = Obliga a contener uno o mas caracteres
@ = Obliga a tener un @
. = Obliga a tener un .

email: str = Query(..., regex="[email protected]+\..+")

Hablando de expresiones regulares, yo tengo un vídeo en youtube donde les enseño las cosas básicas, Conceptos básicss de expresiones regulares + ejercicio de práctica
Se los comparto para que lo vean 😃

We have the followings validators

To Strings:

min_length
max_length

To Numbers:

ge greather or equal than
le less or equal than
gt greather than
lt lesser than

Cuando utilizamos strings tenemos:

  • max_length
  • min_length
  • regex
    Cuando validamos números:
  • Ge = greater or equal than >=
  • le = less or equal than <=
  • ge = Greater than >
  • le = less than <

Validations:
Query

  • max_length
  • min_length
  • regey
    si estamos trabajando con números
  • ge (greater or equal than) mayor o igual
  • le ( less or equal than) menor o igual
  • gt (greater than) mayor a
  • lt (Less than) menor a
    Parametros
  • Title
  • description

Usando los query parameters adicionales:

@app.get("/person/detail")
def show_person(
    name: Optional[str] = Query(None, min_length=1, max_length=50),
    age: int = Query(..., gt=0, lt=10) # Para query parameters sea obligatorio
):
    return {name : age}

Para entender mejor que son las regex me mire este vídeo que me ayudo mucho. Espero que a ustedes también.
Éxitos.
https://www.youtube.com/watch?v=xH7uOrHLvUg