WTForms 正则表达式验证器:如何使用正则表达式匹配 html 标签内的白色 space
WTForms Regexp validator: How to match white space within html tags using regex
我有一个带有 textarea 字段的表单,想知道是否可以使用 WTForms Regexp 验证器来防止在 textarea 仅包含空格时提交表单。
有办法吗?
这是我的表格:
class AddReviewForm(FlaskForm):
review = TextAreaField("Review", validators=[DataRequired())
submit = SubmitField("Post Review")
我希望 Regexp
允许我只阻止空格。
我的文本区域字段包括 CKEditor
,它将 <p>
(或其他标签)添加到输入中,以便将其显示为所见即所得。
所以在数据库中,空格看起来像这样:
"<p> </p>"
这不应该有效。
看看这个我想这可能对你有帮助:
这是上图的link
从上图可以看出,这应该满足你的条件:
"如果数据是字符串类型,则只包含空白字符的字符串被认为是假的。"
如果可行请告诉我:D!
您可以创建自定义验证器。
导入ValidationError
:
from wtforms import ValidationError
自定义验证器:
def validate_review(self, field):
text = field.data.replace('<p>','')
.replace('</p>','')
.replace(' ','')
.replace(' ','')
.replace(' ','')
.replace('<br>','')
if not text:
raise ValidationError('This field should not contain only white spaces')
确保此自定义验证器是 AddReviewForm
class 的方法。另请注意,自定义验证器的方法名称应采用 validate_<field_name>
.
的形式
我有一个带有 textarea 字段的表单,想知道是否可以使用 WTForms Regexp 验证器来防止在 textarea 仅包含空格时提交表单。 有办法吗?
这是我的表格:
class AddReviewForm(FlaskForm):
review = TextAreaField("Review", validators=[DataRequired())
submit = SubmitField("Post Review")
我希望 Regexp
允许我只阻止空格。
我的文本区域字段包括 CKEditor
,它将 <p>
(或其他标签)添加到输入中,以便将其显示为所见即所得。
所以在数据库中,空格看起来像这样:
"<p> </p>"
这不应该有效。
看看这个我想这可能对你有帮助:
这是上图的link
从上图可以看出,这应该满足你的条件:
"如果数据是字符串类型,则只包含空白字符的字符串被认为是假的。"
如果可行请告诉我:D!
您可以创建自定义验证器。
导入ValidationError
:
from wtforms import ValidationError
自定义验证器:
def validate_review(self, field):
text = field.data.replace('<p>','')
.replace('</p>','')
.replace(' ','')
.replace(' ','')
.replace(' ','')
.replace('<br>','')
if not text:
raise ValidationError('This field should not contain only white spaces')
确保此自定义验证器是 AddReviewForm
class 的方法。另请注意,自定义验证器的方法名称应采用 validate_<field_name>
.