我想验证任何字段不应为空的表单。我不知道这些字段的名称。代码是:
<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 %}
怎么做呢?
答案 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
});