示例#1
0
class LoginForm(Form):
    def __init__(self, *args, **kwargs):
        Form.__init__(self, *args, **kwargs)
        self.user = None

    login = TextField(u'Login', validators=[
        validators.required(),
    ])
    password = PasswordField(u'Password', validators=[
        validators.required(),
    ])
    remember = BooleanField(u'Remember me')
    submit = SubmitField(u'Validate')

    def validate(self):
        rv = Form.validate(self)
        if not rv:
            return False

        pseudo = self.login.data
        password = self.password.data

        try:
            user_exists(self, self.login)
            user = check_password(pseudo, password)
            if user is None:
                self.password.errors.append('Wrong password.')
                return False
        except ValidationError:
            self.login.errors.append('Unknow user.')
            return False

        self.user = user

        return True
示例#2
0
class BookmarkForm(AjaxForm):
    id = HiddenField(u'Id')
    link = URLField(u'Link',
                    validators=[
                        validators.required(),
                        validators.url(),
                    ])
    title = TextField(u'Title', validators=[
        validators.required(),
    ])
    description = TextAreaField(u'Description')
    tags = TextField(u'Tags')
    submit = SubmitField(u'Add')
    edit = SubmitField(u'Edit')

    def __init__(self, formdata=None, *args, **kwargs):
        self.id.data = kwargs.get('id', None)
        super(BookmarkForm, self).__init__(formdata, *args, **kwargs)

    def validate(self):
        rv = Form.validate(self)
        if not rv:
            return False

        _id = self.id.data
        link = self.link.data
        title = self.title.data
        description = self.description.data
        tags = map(lambda x: {'name': x.strip()}, self.tags.data.split(','))

        if _id is None or _id == '' or int(_id) < 1:
            self.bookmark = ItemBookmark(tags=tags,
                                         link=link,
                                         title=title,
                                         description=description)
        else:
            self.bookmark = get_bookmark_by_id(_id)
            if self.bookmark is None:
                abort(404)
            self.bookmark.title = title
            self.bookmark.description = description
            self.bookmark.set_tags(tags)

        return True
示例#3
0
class RegisterForm(Form):
    login = TextField(u'Login',
                      validators=[
                          validators.required(),
                          unique_user,
                      ])
    password = PasswordField(
        u'Password',
        validators=[
            validators.required(),
            validators.length(min=app.config['MIN_PASSWORD_LENGTH']),
        ])
    password_confirmation = PasswordField(
        u'Password confirmation',
        validators=[
            validators.required(),
            validators.length(min=app.config['MIN_PASSWORD_LENGTH']),
        ])
    submit = SubmitField(u'Register')

    def __init__(self, *args, **kwargs):
        Form.__init__(self, *args, **kwargs)
        self.user = None

    def validate(self):
        rv = Form.validate(self)
        if not rv:
            return False

        pseudo = self.login.data
        password = self.password.data
        password_confirmation = self.password_confirmation.data

        if password != password_confirmation:
            self.password.errors.append('Passwords mismatch')
            self.password_confirmation.errors.append('Passwords mismatch')
            return False

        self.user = User(pseudo, password)

        return True
示例#4
0
class SimpleForm(Form):
    form_id = TextField('id:', validators=[validators.required()])

    @app.route("/", methods=['GET', 'POST'])
    def form():
        form = SimpleForm(request.form)
        print(form.errors)

        if request.method == 'POST':
            form_id = request.form['id']
            print(form_id)
            return (redirect('credit/' + form_id))

        if form.validate():
            # Save the comment here.
            flash('Vous avez demandé l\'ID : ' + form_id)
            redirect('')
        else:
            flash('Veuillez compléter le champ. ')

        return render_template('formulaire_id.html', form=form)
示例#5
0
class ContactForm(Form):
	name = TextField("Name", [validators.required("Please enter your Name")])
	email = TextField("Email", [validators.required("Please enter your Email"), validators.Email()])
	subject = TextField("Subject", [validators.required("Please enter a Subject")])
	message = TextAreaField("Message", [validators.required("Please enter a Message")])
	submit = SubmitField("Send")
示例#6
0
class TelephoneForm(Form):
    country_code = IntegerField('Country Code', [validators.required()])
    area_code = IntegerField('Area Code/Exchange', [validators.required()])
    number = StringField('Number')
示例#7
0
class LoginForm(Form):
    id = StringField('id:', validators=[validators.required()])