【问题标题】:validation of form in django在 django 中验证表单
【发布时间】:2013-11-24 09:55:42
【问题描述】:

我是 django 框架的新手。我有一个模板,我有一个表单。我只想在这个表单上进行验证,它将检查该字段是否为空。如果它是空的然后它将显示类似“必填字段为空”之类的验证语句。现在我该如何进行验证?这是我的 form.py 文件

 from django import forms
 from django.core.exceptions import ValidationError
 from request.models import Request

 class SubreqForm(forms.Form):
    request = forms.CharField(max_length=100)
    category = forms.CharField(max_length=100)
    sub_category = forms.CharField(max_length=100)

这是我的观点(你可以编辑观点)

class SubmitRequestsTemplateView(TemplateView):
template_name = "rest/submit_req.html"
def get(self,request,*args,**kwargs):
    c = {}
    c.update(csrf(request))

    return render_to_response("rest/submit_req.html", context_instance=RequestContext(request))

这是我的模板...(只有表格)

                    <div class="form-group">
                        <label class="col-lg-3 control-label" for="inputText">Request</label>
                        <div class="col-lg-8">
                            <input id="inputText" class="form-control" type="Text" placeholder="Request Name" ng-model="request.name"></input>
                        </div>
                    <br />
                    <br />
                    </div>
                    <div class="form-group">
                        <label for="id_category" class="col-lg-3 control-label">Category</label>
                        <div class="col-lg-8">
                            <select class="form-control" id="id_category" ng-model="selectedCategory" ng-options="cat.pk as cat.name for cat in category">
                                <option value="">Select Category</option>
                            </select>
                        </div>
                    </div>

                    <div class="form-group">
                        <label for="id_subcategory" class="col-lg-3 control-label">Sub-Category</label>
                        <div class="col-lg-8">
                            <select class="form-control" id="id_subcategory" ng-model="selectedSubCategory" ng-options="subcat.id as subcat.name for subcat in subcategory">
                            <option value="">Select SubCategory</option>
                            </select>

                        </div>
                    </div>
                    <div>
                        <center>
                            <button type="submit" class="btn btn-primary" ng-click="addRequest()">Add Request</button>
                        </center>
                    </div>
                </form>

现在如何验证我的表单?请帮帮我。

【问题讨论】:

标签: django forms validation


【解决方案1】:

您的视图未针对任何类型的表单处理进行配置。当您对其进行编码时,TemplateView 只会响应 GET 请求,因此当您的表单发送 POST 时,什么都不会发生。

看看通用的CreateViewdocumentation

另外,如果您要手动渲染表单而不是让 Django 执行 (form.as_p),那么您还需要 manually render any errors,我在上面的模板中没有看到。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-03-10
    • 2011-01-19
    • 2021-06-05
    • 1970-01-01
    • 2014-12-06
    • 2017-08-24
    • 2019-02-02
    • 2020-06-10
    相关资源
    最近更新 更多