[英]How to custom the fields in flask-wtf forms
there. 那里。 I defined a class called LoginForm: 我定义了一个名为LoginForm的类:
class LoginForm(FlaskForm):
email = StringField('Email', validators=[DataRequired(), Length(5, 64), Email()])
password = PasswordField('Password', validators=[DataRequired()])
remember_me = BooleanField('Remember me')
submit = SubmitField('Log In')
Then I render it in the templates login.html
: 然后,将其呈现在模板login.html
:
{% extends "base.html" %}
{% import "bootstrap/wtf.html" as wtf %}
{{ wtf.quick_form(form) }}
And I think it is a little bit ugly. 而且我认为这有点难看。 So, I render the fields in the normal way: 因此,我以正常方式渲染字段:
<form action="" method="POST" role="form" class="form">
{{ form.hidden_tag() }} {{ wtf.form_errors(form, hiddens="only") }}
<div class="form-group required">
<label class="control-label" for="email">Email</label>
{{ form.email(class="form-control",id="email",required="required",type="text",value="",placeholder="Enter email") }}
</div>
<div class="form-group required">
<label class="control-label" for="password">Password</label>
{{ form.password(class="form-control",id="password",required="required",type="password",value="",placeholder="Enter email") }}
</div>
<div class="checkbox">
<label>
<input id="remember_me" name="remember_me" type="checkbox" value="y"> Remember me
</label>
</div>
{{ form.submit(class="btn btn-success btn-block") }}
<a href="{{ url_for('auth.register') }}" class="btn btn-danger btn-block" role="button">Register</a>
</form>
It agrees with me now. 现在我同意了。 But I met a problem: When I click the green login button, it does not validate the data(like the format of a email address). 但是我遇到了一个问题:单击绿色的登录按钮时,它无法验证数据(例如电子邮件地址的格式)。 How should I solve this problem? 我应该如何解决这个问题?
First I thought that it is not validating. 首先,我认为它没有验证。 Thank @BurhanKhalid for reminding me. 感谢@BurhanKhalid提醒我。 It's just not showing the errors. 它只是不显示错误。 I changed the code and it works. 我更改了代码,它可以正常工作。
{% if form.email.errors %}
<div class="form-group required has-error">
{{ form.email(class="form-control",id="email",required='required',type="text",value="",placeholder="Enter email") }}
{% for error in form.email.errors %}
<p class="help-block">{{ error }}</p>
{% endfor %}
{% else %}
<div class="form-group required">
{{ form.email(class="form-control",id="email",required='required',type="text",value="",placeholder="Enter email") }}
{% endif %}
</div>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.