Fixed #675: PasswordFields now respect length and maxlength params

git-svn-id: http://code.djangoproject.com/svn/django/trunk@1022 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
Jacob Kaplan-Moss 2005-10-29 17:10:51 +00:00
parent 2822f71d08
commit 7e0719efa6
1 changed files with 4 additions and 7 deletions

View File

@ -215,6 +215,7 @@ class FormField:
#################### ####################
class TextField(FormField): class TextField(FormField):
input_type = "text"
def __init__(self, field_name, length=30, maxlength=None, is_required=False, validator_list=[]): def __init__(self, field_name, length=30, maxlength=None, is_required=False, validator_list=[]):
self.field_name = field_name self.field_name = field_name
self.length, self.maxlength = length, maxlength self.length, self.maxlength = length, maxlength
@ -237,8 +238,8 @@ class TextField(FormField):
maxlength = 'maxlength="%s" ' % self.maxlength maxlength = 'maxlength="%s" ' % self.maxlength
if isinstance(data, unicode): if isinstance(data, unicode):
data = data.encode(DEFAULT_CHARSET) data = data.encode(DEFAULT_CHARSET)
return '<input type="text" id="%s" class="v%s%s" name="%s" size="%s" value="%s" %s/>' % \ return '<input type="%s" id="%s" class="v%s%s" name="%s" size="%s" value="%s" %s/>' % \
(FORM_FIELD_ID_PREFIX + self.field_name, self.__class__.__name__, self.is_required and ' required' or '', (self.input_type, FORM_FIELD_ID_PREFIX + self.field_name, self.__class__.__name__, self.is_required and ' required' or '',
self.field_name, self.length, escape(data), maxlength) self.field_name, self.length, escape(data), maxlength)
def html2python(data): def html2python(data):
@ -246,11 +247,7 @@ class TextField(FormField):
html2python = staticmethod(html2python) html2python = staticmethod(html2python)
class PasswordField(TextField): class PasswordField(TextField):
def render(self, data): input_type = "password"
# value is always blank because we never want to redisplay it
return '<input type="password" id="%s" class="v%s%s" name="%s" value="" />' % \
(FORM_FIELD_ID_PREFIX + self.field_name, self.__class__.__name__, self.is_required and ' required' or '',
self.field_name)
class LargeTextField(TextField): class LargeTextField(TextField):
def __init__(self, field_name, rows=10, cols=40, is_required=False, validator_list=[], maxlength=None): def __init__(self, field_name, rows=10, cols=40, is_required=False, validator_list=[], maxlength=None):