【发布时间】:2020-02-27 04:14:54
【问题描述】:
我有一个包含一堆字段的表单。这些是产品结帐的所有字段。所以姓名,姓氏,电子邮件,地址,电话等等。然后有一个按钮类型提交,进入下一页。
我想要做的是,如果这些字段中的任何一个为空,则应该有一个红色文字说:“字段为空”,否则它将继续。
这就是我尝试的方式:
<form class="row contact_form" action="{% url 'create-order' %}" method="POST" novalidate="novalidate">
{% csrf_token %}
<div class="col-md-6 form-group">
<input type="text" class="form-control" name="order-namn" placeholder="Namn">
</div>
<div class="col-md-6 form-group">
<input type="text" class="form-control" name="order-efternamn" placeholder="Efternamn">
</div>
<div class="col-md-12 form-group">
<input type="text" class="form-control" name="order-epost" placeholder="E-post för orderbekräftelse">
</div>
<div class="col-md-6 form-group">
<input type="text" class="form-control" name="order-adress" placeholder="Adress">
</div>
<div class="col-md-6 form-group">
<input type="text" class="form-control" name="order-ort" placeholder="Ort">
</div>
<div class="col-md-6 form-group">
<input type="text" class="form-control" name="order-postnummer" placeholder="Postnummer">
</div>
<div class="col-md-6 form-group">
<input type="text" class="form-control" name="order-telefon" placeholder="Telefon">
</div>
<div class="col-md-2 form-group">
<select class="browser-default" name="order-land">
<option value="Sverige" selected>Sverige</option>
</select>
</div>
<div class="col-md-2 form-group p_star">
<select class="browser-default" name="order-state">
<option selected>Län</option>
<option value="Blekinge län">Blekinge län</option>
<option value="Dalarnas län">Dalarnas län</option>
<option value="Gotlands län">Gotlands län</option>
<option value="Gävleborgs län">Gävleborgs län</option>
<option value="Hallands län">Hallands län</option>
<option value="Jämntlands län">Jämntlands län</option>
<option value="Jönköpings län">Jönköpings län</option>
<option value="Kalmar län">Kalmar län</option>
<option value="Kronobergs län">Kronobergs län</option>
<option value="Norrbottens län">Norrbottens län</option>
<option value="Skåne län">Skåne län</option>
<option value="Stockholms län">Stockholms län</option>
<option value="Södermanlands län">Södermanlands län</option>
<option value="Uppsala län">Uppsala län</option>
<option value="Värmlands län">Värmlands län</option>
<option value="Västerbottens län">Västerbottens län</option>
<option value="Västernorrlands län">Västernorrlands län</option>
<option value="Västermanlands län">Västermanlands län</option>
<option value="Västra Götalands län">Västra Götalands län</option>
<option value="Örebro län">Örebro län</option>
<option value="Östergötlands län">Östergötlands län</option>
</select>
</div>
<div class="col-md-12 form-group mb-0">
<div class="creat_account">
</div>
<textarea class="form-control" name="message" id="message" rows="1" placeholder="Information till säljaren (Frivilligt)"></textarea>
</div>
</div>
<div class="col-lg-4">
<div class="order_box">
<h2>Din Beställning</h2>
<ul class="list">
<li><a href="#"><h4>Produkt <span>Totalt</span></h4></a></li>
{% for item in cartItems %}
<li><a href="#">{{ item }} x {{item.quantity}} <span class="last" >{{ item.get_total_item_price }} Kr</span></a></li>
{% endfor %}
</ul>
<ul class="list list_2">
<li><a href="#">Frakt <span>Gratis Frakt</span></a></li>
<li><a href="#">Totalt <span">{{shopCart.get_total}} Kr</span></a></li>
</ul>
<div class="payment_item active">
</div>
<div class="creat_account">
</div>
<div class="payment_item">
<div class="radion_btn">
<input type="radio" id="f-option5" name="selector" value="Klarna">
<label for="f-option5">Klarna</label>
<img src="{% static 'assets/img/product/klarna.png' %}" alt="">
<div class="check"></div>
</div>
<p>Klarna offers flexible payment options that allow customers more freedom to choose when and how to pay for a purchase.</p>
</div>
<div class="payment_item active">
<div class="radion_btn">
<input type="radio" id="f-option6" name="selector" value="Kort">
<label for="f-option6">Kortbetalning </label>
<img src="{% static 'assets/img/product/card.jpg' %}" alt="">
<div class="check"></div>
</div>
<p>Betala med Kort. Alla betalningar går igenom Stripe Secure Checkout.</p>
</div>
{% if order-namn is None %}
<div class="text-center">
<button type="submit" class="button button-paypal">Fortsätt till Betalning</button>
</div>
{% endif %}
</div>
</div>
</div>
</div>
</div>
【问题讨论】:
-
为什么不将 HTML 的
required属性强制添加到您想要的输入字段?它现在不会提交表单并说此字段为必填项。 -
只说所有输入都需要,无论如何都提交
-
哦,我明白了,您在表单中提供了
novalidate,这就是它会提交的原因
标签: python html django forms templates