我想知道如何在表单验证失败时添加.error类来输入元素(to registration app)。django输入元素错误css类
回答
这可以完全通过您的模板完成。
你建立你想测试你可以使用每个表单域的表单模板下面的例子构建
<input type="text" class="reg-txt{% if form.fieldname.errors %} errors{% endif %}"/>
这可以让你提供你想要的界面,而无需修改视图& Django的表单代码。
(优于后期从不)
你应该能够做到这一点与Django Uni Form
它现在很容易 - 在Django 1.2新功能
刚上窗体类&添加属性你很好走。此功能在文档下一个“新的1.2”的说明中提到,但你可以找到在django.forms.forms.BoundField.css_classes
魔这里的API reference,和一个例子:
class MyForm(forms.Form):
required_css_class = "required"
error_css_class = "error"
如果你想将你的错误CSS类形成输入控件(而不是他们的容器),你可以从下面的一个派生窗体类:
class StyledErrorForm(forms.Form):
def is_valid(self):
ret = forms.Form.is_valid(self)
for f in self.errors:
self.fields[f].widget.attrs.update({'class': self.fields[f].widget.attrs.get('class', '') + ' error'})
return ret
注意一个小问题,但是这会覆盖任何在字段构件声明中指定的类(即'attrs')。要简单地附加错误类,请使用下面这行代码(稍微可怕):'self.fields [f] .widget.attrs.update({'class':self.fields [f] .widget.attrs.get('class' ,'')+'error'})' – gregoltsov 2015-08-20 14:37:30
谢谢Gregory,我纠正了我的代码。 – Luca 2015-08-21 16:18:02
使用自定义模板...
个人从来没有使用内置在Django错误分级解决方案的运气,另外,我喜欢在错误中使用内置的“striptags”模板过滤器,以摆脱所有的HTML列表的东西,我无法弄清楚如何很好地呈现无论如何。
我使用下面的自定义模板将它们分类为'error_id'。
@register.filter(is_safe=True)
@stringfilter
def error_id(value):
if value=='':
return ''
else:
return r'<span class="error_id">'+value+'</span>'
使用呈现在你的模板中的个别错误:
{{ form.my_field.errors|striptags|error_id}}
或者使用类似渲染整个表单:
<table border="1" cellpadding="5px" align="center">
{% for field in form.visible_fields %}
<tr>
<td> {{ field.label_tag }}: </td>
<td> {{ field }} </td>
<td> {{ field.errors|striptags|error_id }} </td>
</tr>
{% endfor %}
</table>
- 1. div元素输出错误
- 2. Webdriver在错误的输入元素中输入错误的文本
- 3. webkit htm5 css重置输入元素
- 4. 清除/覆盖输入元素的css
- 5. 形式输入元素的CSS
- 6. 仅使用CSS设计输入元素
- 7. CSS未应用于输入元素
- 8. CSS选择TD与输入元素
- 9. 错误输出要素类
- 10. 数字类型输入元素微调器的CSS样式
- 11. 未将CSS类应用于异步回调的输入元素
- 12. 在两个输入元素的IE浏览器的CSS Z-索引错误
- 13. 关于悬停元素css的错误
- 14. CSS元素堆叠,ontop错误
- 15. CSS中的列元素内部错误
- 16. 错误的css元素(wordpress)的位置
- 17. 焦点错误的CSS Safari元素+元素选择器?
- 18. 插入音频元素导致CSS错误
- 19. 输入类型提交Div元素后
- 20. 查找输入元素的“类型”
- 21. JavaScript检查元素输入类型onclick
- 22. 更改输入元素的类型
- 23. 更改form_error上的输入元素类?
- 24. 使输入元素风格与类
- 25. 输入元素的多个类
- 26. 具有错误帮助的输入元素的指令跨度元素
- 27. 了重复输入错误的Django
- 28. 带输入名称的Django Formset错误
- 29. JQuery输入元素
- 30. Django的:错误调用元类基地
有什么,可在形式或部件上完成水平?这似乎相当详细,我想要在每个无效的输入字段textarea上选择这个错误类... – 2010-09-22 23:06:28