'FlaskForm inserting null values into db despite DataReguired

I have a Flask form and it adds entries into db without issues. However, when I click 'submit' on the empty form, it adds null entries. I already have limitation set to 'DataRequired'. What else do I need to stop this from happening?

My form:

class AddNoteForm(FlaskForm):
    note = StringField('Note',[DataRequired()])
    add = SubmitField('Add Note')

My model:

class Note(db.Model):
    id = db.Column(db.Integer,primary_key = True)
    note = db.Column(db.String(150),nullable = False)
    date_added = db.Column(db.DateTime,default = datetime.utcnow)
    user_id = db.Column(db.Integer, db.ForeignKey('user.id'))

My routes.py:

@routes.route('/userpage',methods=['GET','POST'])
@login_required
def userpage():
    print('page start')
    session.get("current_user")
    user_notes = Note.query.filter_by(user_id = current_user.id)

    if request.method == "POST":
        print('method is post')
        if current_user.is_authenticated:
            print ('user in session')
            note = Note(note = request.form.get('addnote'), user_id = current_user.id)
            db.session.add(note)
            db.session.commit()
            return render_template('userpage.html', note=note, user_notes=user_notes)
        else:
            print('user not in session"')
            return render_template('userpage.html')
    return render_template('userpage.html', user_notes=user_notes)

my form-html:

{% extends 'base.html' %}
{% block body %}
<p>Welcome {{ current_user.name }}</p>
<br>
<form method='post'>

    <table>
        <tr>
            <td></td> <input type="text", name ="addnote", placeholder="Add note"/>
        </tr>
    </table>
    <input class ="button" , type="submit" />
    <input type="hidden" name="csrf_token" value="{{ csrf_token() }}"/>

    <p>
        {% for item in user_notes %}
        <li class = "diary"> {{ item.note }}</li>
        {% endfor %}
    </p>

</form>
{% endblock %}


Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source