# Input Validation

## Admin Username

Usernames for an administrator in spotweb have some restrictions.

- Following words are not allowed:
  - god
  - mod
  - spot
  - admin
  - drazix
  - superuser
  - supervisor
  - root
  - anonymous
- Following characters are not allowed:
  - <
  - \>
- Regex used to validate the username (you can try live [here](https://regex101.com/r/LA4Io7/1)):
  `^((?!god|mod|spot|admin|drazix|superuser|supervisor|root|anonymous)[^<>])*$`

## Admin Firstname and Lastname

The firstname and lastname in spotweb have some restrictions.

- Following characters are not allowed:
  - <
  - \>
- Minimum lenght of 2 characters is enforced
- Regex used to validate the firstname and lastname (you can try live [here](https://regex101.com/r/x2KGnU/1)):
  `^([^<>]{2})([^<>]*)$`

## Admin Email

The email addres is validated in spotweb using the built-in `_FILTER_VALIDATE_EMAIL`.

- Regex used to validate the email (you can try live [here](https://regex101.com/r/yEmCoL/1)):
  `` ^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$ ``

---

If you find a field that you think it needs validation, please open an issue on github
