Kolben ungültige Form nicht Posting auf " Absenden

Ich habe einen Kolben form, dass Beiträge, wenn jedes Feld richtig ausgefüllt ist. Da auch keine Probleme. Aber, wenn einige Kriterien (wie Benutzername ist nicht angegeben) nicht erfüllt sind, dann ist die Form nicht post eine Anfrage.

Also schrieb ich ein funktionierendes Beispiel. Die Quintessenz der Frage ist: Warum ist der Absatz mit

This paragraph is never reached!!!

nie angezeigt???

Wenn das Formular nicht richtig ausgefüllt und ich behaupte, dass keine post zurück an den Server!!! Wenn alles korrekt eingespeist wird, der browser sendet die form.
( Ich bin mir ziemlich sicher, es ist nicht, weil die form Fehler nicht geworfen bekommen. Mit register.html in Vorlagen-Dateien relativ zu main.py läuft main.py sehen Sie selbst. Btw, obwohl, es funktioniert, sonst muss ich "Absatz" angezeigt werden, um Stil mit bootstrap richtig!)

Danke!

main.py

from flask import Flask, render_template, flash
from flask_wtf import FlaskForm
from wtforms import StringField, PasswordField, SubmitField, BooleanField
from wtforms.validators import DataRequired, Length, Email, EqualTo

app = Flask(__name__)

app.config['SECRET_KEY'] = 'ca4532af545bc4e254e6b45bdf96d7b6'

class RegistrationForm(FlaskForm):
    username = StringField('Username', validators=[DataRequired(), Length(min=2, max=20)])
    email = StringField('Email', validators=[DataRequired(), Email()])
    password = PasswordField('Password', validators=[DataRequired()])
    confirm_password = PasswordField('Confirm Password', 
                                        validators=[DataRequired(), EqualTo('password')])
    submit = SubmitField('Sign Up')



@app.route('/', methods=['GET', 'POST'])
def register():
    form = RegistrationForm()
    if form.validate_on_submit():
        return "Submitted"
    return render_template('register.html', form=form)


if __name__ == '__main__':
    app.run(debug=True, port=5000)

register.html

<!DOCTYPE html>
<html>
  <head></head>
  <body>
    <form action="" method="POST">
    {{ form.hidden_tag() }}
        <fieldset class="form-group">
            <div class="form-group">
                {{ form.username.label() }}
                {%% if form.username.errors %%}
                    {{ form.username() }}
                    <div class="invalid-feedback">       


                        <p>This paragraph is never reached!!!</p>


                        {%% for error in form.username.errors %%}
                            <span>{{ error }}</span>
                        {%% endfor %%}
                    </div>
                {%% else %%}
                    {{ form.username() }}
                {%% endif %%}
            </div>

            <div class="form-group">
                {{ form.email.label() }}
                {%% if form.email.errors %%}
                    {{ form.email() }}
                    <div class="invalid-feedback">
                        {%% for error in form.email.errors %%}
                            <span>{{ error }}</span>
                        {%% endfor %%}
                    </div>
                {%% else %%}
                    {{ form.email() }}
                {%% endif %%}
            </div>

            <div class="form-group">
                {{ form.password.label() }}
                {%% if form.password.errors %%}
                    {{ form.password() }}
                    <div class="invalid-feedback">
                        {%% for error in form.password.errors %%}
                            <span>{{ error }}</span>
                        {%% endfor %%}
                    </div>
                {%% else %%}
                    {{ form.password() }}
                {%% endif %%}
            </div>

            <div class="form-group">
                {{ form.confirm_password.label() }}
                {%% if form.confirm_password.errors %%}
                    {{ form.confirm_password() }}
                    <div class="invalid-feedback">
                        {%% for error in form.confirm_password.errors %%}
                            <span>{{ error }}</span>
                        {%% endfor %%}
                    </div>
                {%% else %%}
                    {{ form.confirm_password() }}
                {%% endif %%}
            </div>
        </fieldset>

        <div class="form-group">
            {{ form.submit() }}
        </div>
    </form>
  </body>
</html>
0
2019-09-18 01:00:29
Quelle
0 Antworten

Sehen Sie sich andere Fragen zu Tags an