I am trying to get it so that the validator tells you \"username must be alphanumeric\". This is my code so far. I have confirmed that it validates at the correct time. The
I was having trouble running a RegexValidator, too. But I was trying to raise the error by saving the model instance. It will not work this way! Only when using ModelForms the validators are called automatically.
In https://docs.djangoproject.com/en/dev/ref/validators/#how-validators-are-run
Note that validators will not be run automatically when you save a model, but if you are using a ModelForm, it will run your validators on any fields that are included in your form."
How about adding the error code:
user = CharField(
max_length=30,
required=True,
validators=[
RegexValidator(
regex='^[a-zA-Z0-9]*$',
message='Username must be Alphanumeric',
code='invalid_username'
),
]
)
a validate user name here should contain at least one minuscule letter, one capital letter and one numeric, if i understand your code.
to complete Virendra Rajput answer correct the regex with that:
regex=r'^[a-zA-Z0-9]*$' start with the r'
Try passing the messsage
as,
user = CharField(
max_length=30,
required=True,
validators=[
RegexValidator(
regex=r'^[a-zA-Z0-9]*$',
message=_('Username must be Alphanumeric'),
),
]
)