Django表单,提交前检查验证。(HTML)

Django表单,提交前检查验证。(HTML),html,validation,django-forms,Html,Validation,Django Forms,对于常规html表单,我可以使用java脚本在submit上验证输入,这意味着submit按钮仅用于有效输入,因此不需要http响应。 然而,对于django表单,我不能做同样的事情。 html中的Django表单就是{{form}。 例如,{form.title}}是title的形式。 因此,我正在寻找一种在前端验证Django表单的方法(HTML)。只有有效的输入是post,而不是Django特定的。这是一个前端Javascript框架工作。或者,如果您确定您的webapps的目标受众都是最

对于常规html表单,我可以使用java脚本在submit上验证输入,这意味着submit按钮仅用于有效输入,因此不需要http响应。 然而,对于django表单,我不能做同样的事情。 html中的Django表单就是{{form}。 例如,{form.title}}是title的形式。
因此,我正在寻找一种在前端验证Django表单的方法(HTML)。只有有效的输入是post,而不是Django特定的。这是一个前端Javascript框架工作。或者,如果您确定您的webapps的目标受众都是最新的面向浏览器的、支持HTML5的,那么请进行HTML表单验证()


如果您不想进行客户端验证并重复使用Django的验证代码,那么我建议使用ajax序列化并提交表单。您可以获得一个JSON回复并使用javascript对其进行解析,或者获取整个更新的表单(使用Django的模板引擎)并更新DOM。如果您需要样品,请告诉我您选择的方法。希望这有帮助

包含jquery验证程序

<script type="text/javascript" src="{% static 'js/jquery.validate.min.js' %}"></script>

在contact.html中

<form method="post" action="/contact/send/"  id="contact_wrap">

<div class="name">
<label class="label">Name  <span class="required">*</span></label>
<input name= "firstname" id="firstname" class="inputtext"  type="text" maxlength="20" size="12" placeholder="First Name"/>
</span>
</div>

<-- your code -->

</form>
<div class="button">
<input id="submitform" class="submitform" type="submit" name="submitform" value="Send" />
</div>
<script>
$(function() {
    $( "#contact_wrap" ).validate({

        errorClass: "my-error-class", //apply a css class for error if you have style for valid
        validClass: "my-valid-class", //apply a css class for error if you have style for error

        rules: {
            firstname: {
                required: true
            },

        },
        messages: {
            firstname: {
                required: "Please enter your First Name."                         
            },
        },
    });

});
</script>
发送表单时加载程序.gif

<div id="loadingDiv" class="hiddenClass">
<p><img src="{% static "images/ajax-loader.gif" %}" alt="loader" ><br/>Please wait... while we...<p>
</div>


请稍候。。。而我们…
您在contact.html中的表单代码

<form method="post" action="/contact/send/"  id="contact_wrap">

<div class="name">
<label class="label">Name  <span class="required">*</span></label>
<input name= "firstname" id="firstname" class="inputtext"  type="text" maxlength="20" size="12" placeholder="First Name"/>
</span>
</div>

<-- your code -->

</form>
<div class="button">
<input id="submitform" class="submitform" type="submit" name="submitform" value="Send" />
</div>
<script>
$(function() {
    $( "#contact_wrap" ).validate({

        errorClass: "my-error-class", //apply a css class for error if you have style for valid
        validClass: "my-valid-class", //apply a css class for error if you have style for error

        rules: {
            firstname: {
                required: true
            },

        },
        messages: {
            firstname: {
                required: "Please enter your First Name."                         
            },
        },
    });

});
</script>

名字*
contact.html中的提交按钮

<form method="post" action="/contact/send/"  id="contact_wrap">

<div class="name">
<label class="label">Name  <span class="required">*</span></label>
<input name= "firstname" id="firstname" class="inputtext"  type="text" maxlength="20" size="12" placeholder="First Name"/>
</span>
</div>

<-- your code -->

</form>
<div class="button">
<input id="submitform" class="submitform" type="submit" name="submitform" value="Send" />
</div>
<script>
$(function() {
    $( "#contact_wrap" ).validate({

        errorClass: "my-error-class", //apply a css class for error if you have style for valid
        validClass: "my-valid-class", //apply a css class for error if you have style for error

        rules: {
            firstname: {
                required: true
            },

        },
        messages: {
            firstname: {
                required: "Please enter your First Name."                         
            },
        },
    });

});
</script>

用于验证contact.html中表单的脚本

<form method="post" action="/contact/send/"  id="contact_wrap">

<div class="name">
<label class="label">Name  <span class="required">*</span></label>
<input name= "firstname" id="firstname" class="inputtext"  type="text" maxlength="20" size="12" placeholder="First Name"/>
</span>
</div>

<-- your code -->

</form>
<div class="button">
<input id="submitform" class="submitform" type="submit" name="submitform" value="Send" />
</div>
<script>
$(function() {
    $( "#contact_wrap" ).validate({

        errorClass: "my-error-class", //apply a css class for error if you have style for valid
        validClass: "my-valid-class", //apply a css class for error if you have style for error

        rules: {
            firstname: {
                required: true
            },

        },
        messages: {
            firstname: {
                required: "Please enter your First Name."                         
            },
        },
    });

});
</script>

$(函数(){
$(“#联系包裹”)。验证({
errorClass:“我的错误类”,//如果您有有效的样式,请为错误应用css类
validClass:“我的有效类”//如果您有错误样式,请应用css类
规则:{
名字:{
必填项:true
},
},
信息:{
名字:{
必填:“请输入您的名字。”
},
},
});
});
在contact.html中提交之前检查验证 从加载div显示ajax-loader.gif

<script>
$( "#submitform" ).click(function() {
        if ($('#contact_wrap').valid()) $( "#loadingDiv" ).removeClass( "hiddenClass" ).addClass( "showClass" );
});
</script>

$(“#提交表单”)。单击(函数(){
if($('#contact_wrap').valid())$(“#loadingDiv”).removeClass(“hiddenClass”).addClass(“showClass”);
});