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
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
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
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)
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")
class TelephoneForm(Form): country_code = IntegerField('Country Code', [validators.required()]) area_code = IntegerField('Area Code/Exchange', [validators.required()]) number = StringField('Number')
class LoginForm(Form): id = StringField('id:', validators=[validators.required()])