Skip to content

Validator

Nested Validation

rules = {
    "token": "required|string",
    "person.first_name": "required|string|max:255",
    "person.last_name": "required|string|max:255",
    "person.email": "required|email",
    "person.password": "required|min:8|max:255"
}

data = {
    "token": "test-token",
    "person": {
        "first_name": "John",
        "last_name": "Doe",
        "email": "john.doe@example.com",
        "password": "test1234"
    }
}

validator = Validator()
errors = validator.validate(data, rules)

List Validation

rules = {
    "players": "required|list|min:2",
    "players.*.username": "required"
}

data = {
    "players": [
        {
            "username": "Player 1"
        },
        {
            "username": "Player 2"
        }
    ]
}

validator = Validator()
errors = validator.validate(data, rules)

Direct Validation

Sometimes there is a need for quick and simple validation, without having to create a rule set. The Validator class exposes several static methods that can be used for direct validation.

For example:

validator = Validator()
email = "john.doe@example.com"

if validator.valid_email(email):
    print("This is a valid email!")

Or like this:

if Validator.valid_email(email):
    print("This is a valid email!")

Available methods:

  • valid_alpha_num
  • valid_alpha_num_space
  • valid_boolean
  • valid_date_time
  • valid_decimal
  • valid_dict
  • valid_email
  • valid_float
  • valid_integer
  • valid_ip
  • valid_json
  • valid_list
  • valid_string
  • valid_url
  • valid_uuid4