1
Dugen Chen写了一篇有用的文章,将HTML5验证中的'required'属性添加到Django表单字段中。 http://duganchen.ca/elegantly-adding-html5-validation-attributes-to-django-form-fields/Django格式化HTML5验证模式
我也想有HTML5模式属性自动包含这样,如果这是我的表格:
class AccountEditForm(forms.Form):
email = forms.EmailField()
phone = forms.CharField(widget=forms.IntegerField)
然后下面的HTML将被创建:
<input type="email" name="email" id="id_email" required pattern="-email regex-" />
<input type="text" name="phone" id="id_phone" required pattern="-integer regex-" />
都跟使用此方法:
compose = lambda f, g: lambda *args, \
**kwargs: f(g(*args, **kwargs))
def html5_required(field):
if field.required != False:
field.widget.attrs['required'] = 'required'
return field
CharField = compose(html5_required, CharField)
因此,一个形式仍然可以这样写
class SampleForm(form):
text_field = CharField()
,并会加入“需要”属性适当
有人能解释如何做到与pattern属性类似的东西。 所有这些都可以应用于一个装饰器,以便这个混乱可以驻留在别的地方?
理想情况下,是否有一套正则表达式模式标准化以匹配每个Django表单字段,并且有人建立了一个小型库来轻松将其添加到Django中?
谢谢!