diff --git a/flask_wtf/file.py b/flask_wtf/file.py index b9e685dd..231a8dd8 100644 --- a/flask_wtf/file.py +++ b/flask_wtf/file.py @@ -1,6 +1,7 @@ from werkzeug import FileStorage from wtforms import FileField as _FileField from wtforms import ValidationError +from wtforms.validators import InputRequired, StopValidation class FileField(_FileField): @@ -21,7 +22,7 @@ def has_file(self): return self.data.filename not in [None, '', ''] -class FileRequired(object): +class FileRequired(InputRequired): """ Validates that field has a file. @@ -30,12 +31,13 @@ class FileRequired(object): You can also use the synonym **file_required**. """ - def __init__(self, message=None): - self.message = message - def __call__(self, form, field): if not field.has_file(): - raise ValidationError(self.message) + if self.message is None: + message = field.gettext('This field is required.') + else: + message = self.message + raise StopValidation(message) file_required = FileRequired