Para los errores y que funcione con WTF-validators v3, y ademas muestre los mensajes personalidazos en lugar del generico de html5, estas serían las modificaciones:
Error con validators.Required() - Deprecated:
Modificar el form de login.html con novalidate:
Ejemplo: <form class="" method="post" novalidate>
Agregar en forms.py:
from wtforms.validators import DataRequired, Length
Y la clase debe quedar así:
class LoginForm(Form):
username = StringField('Username', [
validators.DataRequired(),
validators.Length(min=4, max=50, message=('El username se encuentra fuera de rango'))
])
password = PasswordField('Password', [
validators.DataRequired(),
validators.Length(min=8, max=50, message=('El password se encuentra fuera de rango'))
])
Saludos!