FormAlchemy / formalchemy

MIT License
81 stars 29 forks source link

Incorrect ValidationError formatting for validators.length #37

Closed ianmarcinkowski closed 11 years ago

ianmarcinkowski commented 12 years ago

TranslationString mod only takes dictionary-based %-formatting, so the following lines (validators.py line 146-151):

    def f(value, field=None):                                                   
        if len(value) < min_:
            raise ValidationError(_('Value must be at least %d characters long') % min_)
        if max_ is not None and len(value) > max_:
            raise ValidationError(_('Value must be no more than %d characters long') % max_)
    return f

Should be:

    def f(value, field=None):
        if len(value) < min_:
            raise ValidationError(_('Value must be at least %(min) characters long') % {'min': min_})
        if max_ is not None and len(value) > max_:
            raise ValidationError(_('Value must be no more than %(max) characters long') % {'max': max_})
    return f