【问题标题】:Django form validation in template模板中的 Django 表单验证
【发布时间】:2016-08-21 20:06:32
【问题描述】:

我有一个包含许多标准 HTML 表单的 Django 项目。

现在我想制作另一个表格来上传文档。我找到了使用 django-forms 的解决方案。所以对我来说这只是一个简单的类:

class DocumentForm(forms.Form):
    docfile = forms.FileField(
        label='',
    )
    description = forms.CharField(
        label=u'Description:',
        widget=forms.Textarea(attrs={'rows':4, 'cols':50}),
    )

我想在 Textarea 字段中添加空白检查。可以在 CharField 构造函数中添加“必需”参数。但在这种情况下,页面将允许 POST,我应该在“form.is_valid()”检查之后编写额外的代码,并使用“form.description.errors”来显示我的错误消息。 我希望行为类似于我的其他形式。类似的东西

<textarea name="action" required rows="4" cols="50"></textarea>

在这种情况下,我什至不能在没有非空文本区域的情况下进行 POST。更重要的是我有我喜欢的错误显示。

有没有可能用 django-forms 制作这样的表格?还有可能做出与 FileField 类似的行为吗?

【问题讨论】:

    标签: python django forms django-forms django-templates


    【解决方案1】:

    您可以像添加rowscols 一样添加required 属性:

    class DocumentForm(forms.Form):
        docfile = forms.FileField(
            label='',
            required=True, # just in case someone doesn't submit using form 
            widget=forms.ClearableFileInput(attrs={'required': 'required'}),
        )
        description = forms.CharField(
            label=u'Description:',
            required=True, # just in case someone doesn't submit using form 
            widget=forms.Textarea(attrs={'rows': 4, 'cols': 50, 'required': 'required'}),
        )
    

    请注意forms.ClearableFileInput 小部件对FileField 的使用,因为这是FileField 的默认小部件。

    【讨论】:

    • 谢谢!这正是我所需要的!有没有办法对 FileField 进行类似的 HTML 内验证以进行文件上传?
    猜你喜欢
    • 2018-08-21
    • 2021-02-11
    • 1970-01-01
    • 1970-01-01
    • 2018-04-28
    • 1970-01-01
    • 1970-01-01
    • 2019-02-18
    • 1970-01-01
    相关资源
    最近更新 更多