我有一个django表单,我没有输出任何问题。
我的问题是关于jQuery验证 我想将jQuery验证应用于所需的输入 我正在使用http://docs.jquery.com/Plugins/validation
我没有可以在模板中使用的field.is_required 所以我正在使用help_text并在我的模板中对其进行评估。
只是想知道这是否是最好的解决方法?
任何建议都非常感激。
这是:
1)表格类
class UserDetailsForm(forms.Form):
city_town = forms.CharField(label='City / Town',max_length=100, required=True, help_text='*')
state_province = forms.CharField(label='State / Province',max_length=100, required=True, help_text='*')
2)表格输出
{% for field in form %}
<div class="fieldWrapper">
{{ field.errors }}
{{ field.label_tag }}: {{ field.help_text }} {{ field }}
</div>
{% endfor %}
3)表单jQuery验证
// Form Validation Setup
{% for field in form %}
{% if field.help_text == '*' %}
$("input[name='{{ field.html_name }}']").addClass('required');
{% endif %}
{% endfor %}
$("#updateProfileForm").validate();
有没有比我正在使用的这项工作更好的方法:
if field.help_text == '*'
我可能希望将该字段用于以后的工具提示 但是现在我正在使用星号,所以我可以在循环中使用它来进行jQuery验证 在模板中。
谢谢!
答案 0 :(得分:2)
当您遍历表单实例时,__iter__
方法返回BoundField
(处理呈现和其他misc项)。此绑定字段具有一个字段属性,用于存储实际的字段实例(存储所需的属性)。所以你可以做到
{% if field.field.required %}
$("input[name='{{ field.html_name }}']").addClass('required');
{% endif %}
答案 1 :(得分:1)
只需将此添加到您的模型中即可。这会将类'required'
添加到您的表单中。
city_town.widget.attrs['class'] = 'required'