from flask_wtf import FlaskForm from wtforms import MultipleFileField, StringField, SubmitField, ValidationError from wtforms.validators import DataRequired, Length class CreateCorpusForm(FlaskForm): description = StringField( 'Description', validators=[DataRequired(), Length(1, 64)] ) files = MultipleFileField('Files', validators=[DataRequired()]) submit = SubmitField('Create corpus') title = StringField( 'Title', validators=[DataRequired(), Length(1, 32)] ) def validate_files(form, field): for file in field.data: if not file.filename.lower().endswith('.vrt'): raise ValidationError( 'File does not have an approved extension: .vrt' )