Archives
Trending
Support
Login
clear text
XML
Django
JavaScript
MATLAB
C
C++
C#
Python
SQL
Shell
Bash
Markdown
YAML
JSON
HTML
CSS
PHP
Java
Ruby
Go
Rust
Swift
Kotlin
Arduino
TypeScript
Perl
Autohotkey
Lua
SQF
R
Scala
Haskell
Groovy
Dart
Clojure
VB.NET
Objective-C
PowerShell
Bash
CoffeeScript
Verilog
import re from pydantic import BaseModel, EmailStr, HttpUrl, field_validator class Empleado(BaseModel): dni: str nombre: str correo: EmailStr carnet: str url_foto: HttpUrl @field_validator("dni") @classmethod def validar_dni(cls, valor: str) -> str: if not re.fullmatch(r"[A-Za-z0-9]+", valor): raise ValueError("El DNI solo puede contener letras y números") return valor @field_validator("nombre") @classmethod def validar_nombre(cls, valor: str) -> str: # Permite letras, espacios, tildes, ü/Ü y ñ/Ñ. if not re.fullmatch( r"[A-Za-zÁÉÍÓÚáéíóúÜüÑñ]+(?: [A-Za-zÁÉÍÓÚáéíóúÜüÑñ]+)*", valor, ): raise ValueError( "El nombre solo puede contener letras, espacios, tildes y eñes" ) return valor @field_validator("carnet") @classmethod def validar_carnet(cls, valor: str) -> str: # Ejemplo válido: AB12345#- if not re.fullmatch(r"[A-Za-z]{2}\d{5}#-", valor): raise ValueError( "El carnet debe contener 2 letras, 5 dígitos y terminar en #-" ) return valor @field_validator("url_foto") @classmethod def validar_url_foto(cls, valor: HttpUrl) -> HttpUrl: if valor.scheme != "https": raise ValueError("La URL de la foto debe utilizar HTTPS") return valor
Mark as private (unlisted)
for 30 minutes
for 6 hours
for 1 day
for 1 week
for 1 month
for 1 year
everlasting (like CCCP)