[英]Django RegexValidator Not working as expected
我陷入RegexValidator類。
我試圖允許在“字符字段”中輸入一些定義的HTML(p,ul,li)標簽。 下面的Regex完全可以滿足我的需要,但是我很難實現它。
<\/?(?!p|ul|li)[^/>]*>
我正嘗試通過以下方式將其添加到我的Django模型中:
description = models.CharField(max_length = 255, validators=[
RegexValidator(
regex = r'<\/?(?!p|ul|li)[^/>]*>',
message = 'Disallowed Tags',
code = 'DISALLOWED_TAGS',
),
],
)
我正在使用Django 1.6。 當我實現上述代碼時,似乎所有表單提交(使用管理界面)都無法通過驗證。
有任何想法嗎?
謝謝
做自己的驗證器,如果regexp匹配項拋出錯誤,因為它是不允許的。
這里有更多關於驗證器的信息。
import re
from django.core.exceptions import ValidationError
def test(val):
if re.match('<\/?(?!p|ul|li)[^/>]*>', val):
raise ValidationError('Disallowed Tags')
class Foo(models.Model):
name = models.CharField(max_length = 150, validators=[test])
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.