1

我有一个 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 验证。

谢谢!

4

2 回答 2

2

当您遍历表单实例时,该__iter__方法返回一个BoundField(处理渲染和其他杂项)。此绑定字段具有存储实际字段实例的字段属性(它确实存储了所需的属性)。所以你可以做

{% if field.field.required %}
    $("input[name='{{ field.html_name }}']").addClass('required');
{% endif %}
于 2011-04-27T03:42:37.643 回答
1

只需将其添加到您的模型中。这会将类添加'required'到您的表单中。

city_town.widget.attrs['class'] = 'required'
于 2011-04-27T03:49:37.090 回答