Was ich wollte, war ein Validator, den ich einfach in ein Feld wie die String und Int Validatoren stecken könnte. Ich fand, dass es keinen Weg gab, dies zu tun, wenn ich nicht meinen eigenen Validator erstellte. Ich poste es hier der Vollständigkeit halber, und so können andere davon profitieren.
from formencode import FancyValidator, Invalid
from formencode.validators import Email
class EmailList(FancyValidator):
""" Takes a delimited (default is comma) string and returns a list of validated e-mails
Set the delimiter by passing delimiter="A_DELIMITER" to the constructor.
Also takes all arguments a FancyValidator does.
The e-mails will always be stripped of whitespace.
"""
def _to_python(self, value, state):
try:
values = str(value).split(self.delimiter)
except AttributeError:
values = str(value).split(',')
returnValues = []
emailValidator = Email()
for value in values:
returnValues.append(emailValidator._to_python(value.strip(), state))
return values
Interessant, wie ich das Upgrade. – Robbie
Allerdings sollte Zeile 13 wieder Werte zuweisen: Werte = validator.to_python (Werte, Zustand) – Robbie