fixed issue 1010, error reporting on list:string

This commit is contained in:
mdipierro committed 2012-09-16 11:43:03 -05:00
1 parent 60b6fd11f9
commit 05d351cd68
4 files changed
+9 -6

No files matched your search

+1 -1
View File
@@ -1 +1 @@
Version 2.0.9 (2012-09-16 10:43:34) stable Version 2.0.9 (2012-09-16 11:42:59) stable
+1 -1
View File
@@ -1745,7 +1745,7 @@ class INPUT(DIV):
elif not t == 'submit': elif not t == 'submit':
if value is None: if value is None:
self['value'] = _value self['value'] = _value
else: elif not isinstance(value,list):
self['_value'] = value self['_value'] = value
def xml(self): def xml(self):
+5 -3
View File
@@ -239,11 +239,13 @@ class ListWidget(StringWidget):
_name = field.name _name = field.name
if field.type=='list:integer': _class = 'integer' if field.type=='list:integer': _class = 'integer'
else: _class = 'string' else: _class = 'string'
requires = field.requires if isinstance(field.requires, (IS_NOT_EMPTY, IS_LIST_OF)) else None requires = field.requires if isinstance(
field.requires, (IS_NOT_EMPTY, IS_LIST_OF)) else None
attributes['_style'] = 'list-style:none' attributes['_style'] = 'list-style:none'
items = [LI(INPUT(_id=_id, _class=_class, _name=_name, items = [LI(INPUT(_id=_id, _class=_class, _name=_name,
value=v, hideerror=True, requires=requires), value=v, hideerror=k<len(value)-1,
**attributes) for v in value or ['']] requires=requires),
**attributes) for (k,v) in enumerate(value or [''])]
script=SCRIPT(""" script=SCRIPT("""
// from http://refactormycode.com/codes/694-expanding-input-list-using-jquery // from http://refactormycode.com/codes/694-expanding-input-list-using-jquery
(function(){ (function(){
+2 -1
View File
@@ -2329,9 +2329,10 @@ class IS_LIST_OF(Validator):
new_value = [] new_value = []
if self.other: if self.other:
for item in ivalue: for item in ivalue:
if item.strip():
(v, e) = self.other(item) (v, e) = self.other(item)
if e: if e:
return (value, e) return (ivalue, e)
else: else:
new_value.append(v) new_value.append(v)
ivalue = new_value ivalue = new_value