我想知道如何在表单验证失败时添加.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. 选择要匹配的元素CSS类输入元素类
- 2. div元素输出错误
- 3. Webdriver在错误的输入元素中输入错误的文本
- 4. CSS选择TD与输入元素
- 5. 形式输入元素的CSS
- 6. 仅使用CSS设计输入元素
- 7. 清除/覆盖输入元素的css
- 8. 未将CSS类应用于异步回调的输入元素
- 9. 数字类型输入元素微调器的CSS样式
- 10. 在两个输入元素的IE浏览器的CSS Z-索引错误
- 11. CSS中的列元素内部错误
- 12. 错误的css元素(wordpress)的位置
- 13. 输入元素的多个类
- 14. 查找输入元素的“类型”
- 15. 更改form_error上的输入元素类?
- 16. 使输入元素风格与类
- 17. JQuery输入元素
- 18. 元素错误
- 19. Django的:错误调用元类基地
- 20. 安卓4.0浏览器:输入元素与列表中的结果输入元素显示错误结合
- 21. jQuery的验证插件:类“错误”被添加到输入元素
- 22. Django的PostgreSQL的全文搜索时间输入类型错误
- 23. Yii。如何添加css“错误”类来输入表单提交?
- 24. 你输入了错误的元素,结果不匹配吗?
- 25. html输入元素的高度不同,计算错误
- 26. 摆动输入元素的错误状态
- 27. 删除DOM元素后,jQuery UI datetimepicker绑定到错误输入
- 28. 内部错误状态下的语义UI输入元素
- 29. 为ng输入标签的输入元素添加类
- 30. 单元素上的CSS类
有什么,可在形式或部件上完成水平?这似乎相当详细,我想要在每个无效的输入字段textarea上选择这个错误类... – 2010-09-22 23:06:28