问题描述
希望这不是太复杂,但我觉得我可能需要在这里应用 wtforms 之外的验证...
我有一个 StringField,我想根据用户单击的复选框将其验证为电子邮件或 URL。理想情况下,我想在实际表单字段中添加并显示“mailto:”,然后再将其发送到 POST。
我可以使用验证方法来完成此操作吗?或者有更好的方法来解决这个问题吗? TIA!
from wtforms import StringField,SubmitField,BooleanField
from wtforms.validators import Datarequired,ValidationError,Email,URL
class LinkForm(FlaskForm):
name = StringField(u'Page Name',validators=[Datarequired()])
url = StringField(u'Address (URL or Email)',validators=[Datarequired(),URL()])
mailto = BooleanField(u'This is an email address') #checkBox
submit = SubmitField(u'Submit')
def validate_url(self,url):
link = Link.query.filter_by(url=url.data).first(
(现在 validate_url 方法只检查具有相同 url 的条目)
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)