Class: DiscordValidator
- Inherits:
-
AccountNameValidator
- Object
- ActiveModel::EachValidator
- AccountNameValidator
- DiscordValidator
- Defined in:
- lib/discord_validator.rb
Overview
Validates Discord usernames using the modern (post-2023) username format.
Discord eliminated the four-digit #1234 discriminator system in 2023; usernames
are now globally unique and use the rules below:
- 2-32 characters long
- Lowercase letters (
a-z), digits (0-9), underscore (_), and period (.) - No consecutive periods (
..) - Cannot start or end with a period
The following error message keys are used to localize invalid usernames:
| | |
|:-----------------------------|:--------------------------------------------------------|
| discord_too_short | Username is less than 2 characters. |
| discord_too_long | Username is over 32 characters. |
| discord_invalid_chars | Username contains characters outside [a-z0-9._]. |
| discord_invalid_format | Username has consecutive periods or starts/ends with a period. |
Options
| | |
|:-------------|:-------------------------------------------------|
| :message | A custom message to use if the username is invalid. |
| :allow_nil | If true, nil values are allowed. |
Method Summary
Methods inherited from AccountNameValidator
add_validation, error_key_prefix, first_char, max_length, min_length, valid_chars, #validate_each