每当我尝试与flask wtf一起使用时,HostnameValidation错误

每当我尝试与flask wtf一起使用时,HostnameValidation错误,flask,flask-wtforms,Flask,Flask Wtforms,我以前在谷歌上搜索过,但没有结果。在被困3天后,我决定寻求帮助 Information: WTForms==2.2.1 Flask==1.0.2 Flask-WTF==0.14.2 还没有人使用HostnameValidation。我正在对表单中的输入进行验证,但似乎每当我尝试使用带有/不带参数allow_ip=True的验证方法时。它给了我一个错误,就像 class ServiceForm(FlaskForm): name = StringField('Service Name',

我以前在谷歌上搜索过,但没有结果。在被困3天后,我决定寻求帮助

Information:
WTForms==2.2.1
Flask==1.0.2
Flask-WTF==0.14.2 
还没有人使用HostnameValidation。我正在对表单中的输入进行验证,但似乎每当我尝试使用带有/不带参数allow_ip=True的验证方法时。它给了我一个错误,就像

class ServiceForm(FlaskForm):
    name = StringField('Service Name',[validators.DataRequired(), validators.Length(min=2), validators.Regexp("^[A-Za-z0-9_-]*$",message='Service Name must be number and letter only. No space!')])
    type = SelectField('Service Type', choices=[('2','Check Port')])
    host = StringField('IP Host', [ validators.HostnameValidation( allow_ip= True)])
    port = DecimalField('Port Number',[validators.DataRequired(), validators.NumberRange(min=10,max=65535,message='Port must be between 10-65535')])

注意:如果我将HostnameValidation更改为另一个方法,它可以正常工作,但它没有提供足够的验证。我想验证该字段是否为有效的IP地址或主机名

文档中没有出现
主机名验证
的原因。从我所看到的,它只用于URL的主机部分。提供必要的解释:

用于检查主机名以进行验证的帮助器类

这本身不是验证器,因此不会导出


您可以做的是获取该类的代码以及针对您的具体情况。

文档中没有出现
主机名验证的原因。从我所看到的,它只用于URL的主机部分。提供必要的解释:

用于检查主机名以进行验证的帮助器类

这本身不是验证器,因此不会导出


您可以做的是获取该类的代码,并针对您的具体情况。

HostnameValidation
来自何处?您好。谢谢你的回复。此方法来自验证程序包。我不知道为什么文档中没有这个方法的文档,但是它可以在wtforms中使用。这
HostnameValidation
来自哪里?您好。谢谢你的回复。此方法来自验证程序包。我不知道为什么文档中没有这个方法的文档,但是它可以在wtforms中使用。谢谢你的解释和指导我继续;)def check_hostname(form,field):check=validators.HostnameValidation(allow_ip=True)if(not check(field.data)):raise ValidationError('WTF'):这是任何与我有相同问题的人的代码:d谢谢你的解释和指导我继续;)def check_hostname(form,field):check=validators.hostnamevalization(allow_ip=True)if(not check(field.data)):raise ValidationError('WTF')这是任何与我有相同问题的人的代码:D