При использовании валидатора Unique()
для wtforms_components (с Flask и SQLAlchemy) сообщение об ошибке по умолчанию, отображаемое в форме, называется «Уже существует».Как изменить это сообщение об ошибке так же легко, как изменить сообщение об ошибке валидатора DataRequired()
?
Сообщение об ошибке валидатора DataRequired()
можно изменить следующим образом:
from wtforms.validators import DataRequired
class SignupForm():
email = EmailField('Email', validators=[DataRequired('THIS IS MY NEW ERROR MESSAGE.')])
Это меняет сообщение об ошибке по умолчанию с «Это необходимо».на "Это мое новое сообщение об ошибке."Я ищу такое же простое и элегантное решение для изменения сообщения об ошибке по умолчанию Unique()
валидатор wtforms_components
Я надеялся, что есть что-то вроде следующего.Однако это не работает:
from wtforms_components import Unique
class SignupForm():
email = EmailField('Email', validators=[Unique(User.email, get_session=lambda: db.session, 'THIS IS MY NEW ERROR MESSAGE.')])
Способ, которым валидатор обычно работает (с сообщением об ошибке по умолчанию), выглядит следующим образом:
from wtforms_components import Unique
class SignupForm():
email = EmailField('Email', validators=[Unique(User.email, get_session=lambda: db.session)])
Я используюследующие пакеты:
Flask==0.10.1
Flask-SQLAlchemy==2.1
Flask-WTF==0.9.5
WTForms-Components==0.9.7
Я не нашел решения в документации WTForms-Alchemy (http://wtforms -alchemy.readthedocs.io / en / latest / validators.html ).Также я не нашел решения в документации WTForms-Components (http://wtforms -components.readthedocs.io / en / latest / # unique-validator ).На этом форуме тоже не было решения.
Большое спасибо за ваши подсказки заранее.