diff --git a/ngforms.py b/ngforms.py index b481070..087dfce 100644 --- a/ngforms.py +++ b/ngforms.py @@ -8,13 +8,15 @@ class Form(object): field_values = {} - def build(self): + def build(self, form_name='f'): + self.form_name = form_name + fields = ''.join([f.build(self) for f in self.fields]) return """ -
%s
- """ % fields +
%s
+ """ % (form_name, form_name, fields) def validate(self): request = webapp2.get_request() @@ -139,7 +141,11 @@ def __init__(self, id, name): def build(self, form): vals = form.validations[self.id] - errs = " || ".join(['f.%s.$error.%s' % (self.id, val.name) for val in vals]) + + errs = [] + for val in vals: + errs.append('%s.%s.$error.%s' % (form.form_name, self.id, val.name)) + errs = " || ".join(errs) attrs = {} for val in vals: @@ -147,30 +153,30 @@ def build(self, form): messages = [] for v in vals: - messages.append('%s' % - (self.id, v.name, v.message)) + messages.append('%s' % + (form.form_name, self.id, v.name, v.message)) messages = ''.join(messages) if len(self.name) == 0: return attrs, """
%%s -

+

%s

- """ % (errs, self.id, messages) + """ % (errs, self.id, form.form_name, messages) return attrs, """
%%s -

+

%s

- """ % (errs, self.id, self.name, self.id, messages) + """ % (errs, self.id, self.name, form.form_name, self.id, messages) class InputField(Field): @@ -241,8 +247,8 @@ def build(self, form): submit = '''
+ ng-disabled="val && !%s.$valid">%s
- ''' % self.label + ''' % (form.form_name, self.label) return submit