Only allow letters, numbers, dots and dashes for giftcard codes

This commit is contained in:
Martin Gross
2020-01-28 16:53:44 +01:00
parent 29ff5b9416
commit 6cc9801fe1

View File

@@ -1,6 +1,7 @@
from decimal import Decimal from decimal import Decimal
from django.conf import settings from django.conf import settings
from django.core.validators import RegexValidator
from django.db import models from django.db import models
from django.db.models import Sum from django.db.models import Sum
from django.utils.crypto import get_random_string from django.utils.crypto import get_random_string
@@ -50,6 +51,12 @@ class GiftCard(LoggedModel):
max_length=190, max_length=190,
db_index=True, db_index=True,
verbose_name=_('Gift card code'), verbose_name=_('Gift card code'),
validators=[
RegexValidator(
regex="^[a-zA-Z0-9][a-zA-Z0-9.-]+$",
message=_("The giftcard code may only contain letters, numbers, dots and dashes."),
)
],
) )
testmode = models.BooleanField( testmode = models.BooleanField(
verbose_name=_('Test mode card'), verbose_name=_('Test mode card'),