如何在不知道html中的字段名称的情况下验证表单的所有字段

时间:2012-10-23 14:01:23

标签: python django

我想验证任何字段不应为空的表单。我不知道这些字段的名称。代码是:

 <form action="/addproductgroupinsert_fun/" method="post" name="SForm" onsubmit="return validateForm()">
    {% for id in ProductTypefeatureentryList %}
       <label for="{{id.Name}}">{{id.Name}}</label>
       <input id="{{id.Name}}" type="text"name="{{id.Name}}" />
    {% endfor %}

怎么做呢?

3 个答案:

答案 0 :(得分:0)

您可以考虑HTML-5 data-val-*属性,并查看jquery unobtrusive验证插件。你的输入看起来像

 <form action="/addproductgroupinsert_fun/" method="post" name="SForm" onsubmit="return validateForm()">
    {% for id in ProductTypefeatureentryList %}
       <label for="{{id.Name}}" data-val-required='true'>{{id.Name}}</label>
       <input id="{{id.Name}}" type="text"name="{{id.Name}}" data-val-required='true' />
    {% endfor %}

data-val-required用于告诉不显眼的js,需要feild的值。您在互联网上看到的大多数文章都会将不引人注目的js与asp.net mvc链接起来,但它是一个客户端库,可以使用任何服务器端技术。此外,我还没有测试过代码,我认为如果字段的值无效,还有一个属性可用于指定错误消息。

答案 1 :(得分:0)

在模板中,添加一个类以根据需要标记它们。然后,您可以使用该类验证所有元素:

{% for id in ProductTypefeatureentryList %}
   <label for="{{id.Name}}">{{id.Name}}</label>
   <input class="required" id="{{id.Name}}" type="text"name="{{id.Name}}" />
{% endfor %}
validateForm()中的

$('.required').each(function () {
    if (this.value === '') {
        // form is invalid
    }
});

答案 2 :(得分:-1)

这会贯穿您的输入列表:

$('input').each(function() {
   //Do your validation
});
相关问题