Wenn Sie eine Anwendung nur mit Django erstellen, ist es möglicherweise besser, mit Formular zu validieren. Wenn Sie jedoch hauptsächlich API als Django REST Framework bereitstellen, möchten Sie auch mit Model validieren Unten finden Sie ein Beispiel für die Überprüfung der Felder für Telefonnummer und Postleitzahl
models.py
from django.db import models
from django.core.validators import RegexValidator
class SampleModel(model.model):
tel_number_regex = RegexValidator(regex=r'^[0-9]+$', message = ("Tel Number must be entered in the format: '09012345678'. Up to 15 digits allowed."))
tel_number = models.CharField(validators=[tel_number_regex], max_length=15, verbose_name='Telefonnummer')
postal_code_regex = RegexValidator(regex=r'^[0-9]+$', message = ("Postal Code must be entered in the format: '1234567'. Up to 7 digits allowed."))
postal_code = models.CharField(validators=[postal_code_regex], max_length=7, verbose_name='Postleitzahl')
Auf diese Weise können Sie mit regulären Ausdrücken validieren. Wenn Sie eine Anfrage senden, die nicht übereinstimmt, wird die jeweils festgelegte Nachricht zurückgegeben
Wenn Sie einen Datensatz mit einem Bindestrich speichern möchten, ist es besser, einen geeigneten regulären Ausdruck in "regex =" zu schreiben
Abgesehen davon wünschte ich mir, ich könnte max_length setzen, wenn ich jeden regulären Ausdruck definiere, aber ich könnte nicht.
Recommended Posts