We use cookies to improve the Bookmate website experience and our recommendations.
To learn more, please read our Cookie Policy.
Accept All Cookies
Cookie Settings
Svg Vector Icons : http://www.onlinewebfonts.com/icon Something went wrong. Try again.
Building Web Applications with Flask, Italo Maia
Books
Italo Maia

Building Web Applications with Flask

156 printed pages
Publication year
2015
Have you already read it? How did you like it?
👍👎

Quotes

  • Ulyanov Kirillhas quoted4 years ago
    coding:utf-8
    from wtforms import Form, ValidationError
    from wtforms import StringField, PasswordField
    from wtforms.validators import Length, InputRequired
    from werkzeug.datastructures import MultiDict
    import re
    def is_proper_username(form, field):
    if not re.match(r"^\w+$", field.data):
    msg = '%s should have any of these characters only: a-z0-9_' % field.name
    raise ValidationError(msg)
    class LoginForm(Form):
    username = StringField(
    u'Username:', [InputRequired(), is_proper_username, Length(min=3, max=40)])
    password = PasswordField(
    u'Password:', [InputRequired(), Length(min=5, max=12)])
    @staticmethod
    def validate_password(form, field):
    data = field.data
    if not re.findall('.*[a-z].*', data):
    msg = '%s should have at least one lowercase character' % field.name
    raise ValidationError(msg)
    # has at least one uppercase character
    if not re.findall('.*[A-Z].*', data):
    msg = '%s should have at least one uppercase character' % field.name
    raise ValidationError(msg)
    # has at least one number
    if not re.findall('.*[0-9].*', data):
    msg = '%s should have at least one number' % field.name
    raise ValidationError(msg)
    # has at least one special character
    if not re.findall('.*[^ a-zA-Z0-9].*', data):
    msg = '%s should have at least one special character' % field.name
    raise ValidationError(msg)
    # testing our form
    form = LoginForm(MultiDict([('username', 'italomaia'), ('password', 'lL2m@msbb')]))
    print form.validate()
    print form.errors

On the bookshelves

fb2epub
Drag & drop your files (not more than 5 at once)