17

似乎只有一个max_lengthCharField但是min_length对于一个TextField(),有没有办法在 中强制 100 个字符TextField

4

3 回答 3

26

您将使用自定义验证器,特别是MinLengthValidator

于 2013-04-06T00:09:07.480 回答
6

声明 Django 表单时

cell_phone=forms.CharField(max_length=10,min_length=10);

在 Django 模板中呈现表单字段时

{% render_field form1.cell_phone  minlength="10" maxlength="10" %}

下划线令人困惑

于 2018-12-16T11:45:32.453 回答
3

对于models.Models字段验证:

from django.db.models import TextField
from django.db.models.functions import Length

TextField.register_lookup(Length, 'length')

class Foo(models.Mode):
    text_field_name = models.TextField()
    
    class Meta:
        constraints = [
            models.CheckConstraint(
                check=Q(text_field_name__length__gte=10),
                name="text_field_name_min_length",
            )
        ]

使用约束将在数据库级别创建验证(我认为),这将被调用save() 这也适用于CharField.

于 2021-08-23T09:09:53.677 回答