On a second thought, you could have also done
{{=form.element(_name='verify_email')}}
which is more readable.
On Jan 7, 5:42 pm, mdipierro <[email protected]> wrote:
> form is the form
> form[0] is the table
> form[0][-2] is the row (TR) before the last, the one you inserted
> form[0][-2][1] is the second TD of the TR
> form[0][-2][1][0] is the first thing in the TD, the INPUT helper
>
> error messages are appended after INPUT/TEXTAREA helpers
> automatically, if any.
>
> On Jan 7, 5:36 pm, Delaney <[email protected]> wrote:
>
> > Thank Works!!! I 'got my fish' and would also like to learn 'how to
> > fish' now. :P
>
> > But sure seems like a real cryptic non-documented way to do things.
> > Is there any way to get more details. Just like using form[0] instead
> > of form. The api docs online don't seem to fill the gaps for me with
> > what's left out of the manual. Thanks agian!
>
> > On Jan 7, 2:32 pm, mdipierro <[email protected]> wrote:
>
> > > You are right. It will never be in form.custom but this could work
>
> > > {{=form[0][-2][1][0]}}
>
> > > On Jan 7, 3:39 pm, Delaney <[email protected]> wrote:
>
> > > > That makes a lot of sense, however in the view.
>
> > > > <div class="left"> {{=form.custom.label.verify_email}}
> > > > {{=form.custom.widget.verify_email}}</div>
>
> > > > The verify_email is not available from form.custom.label or
> > > > form.custom.widget... still shows 'None,None'
>
> > > > But I do think this is much closer!
>
> > > > On Jan 7, 11:39 am, mdipierro <[email protected]> wrote:
>
> > > > > I get it now. I would do this:
>
> > > > > def reg_info():
> > > > > form = SQLFORM(db.attendees)
> > > > > form[0].insert(-1,TR('Verify email',INPUT
> > > > > (_name='verify_email'),''))
> > > > > def validate_email(form):
> > > > > if form.vars.email!=form.vars.verify_email:
> > > > > form.errors.verify_email='email does not match'
> > > > > if form.accepts(request.vars,onvalidation=validate_email):
> > > > > response.flash = 'form accepted'
> > > > > session.attendee_name = "%s %s" %
> > > > > (form.vars.first_name,form.vars.last_name)
> > > > > redirect(URL(r=request,f='thank_you'))
> > > > > elif form.errors:
> > > > > response.flash = 'form has errors: %s' % form.errors
> > > > > else:
> > > > > response.flash = 'Please fill out the registration form'
> > > > > return dict(form=form)
>
> > > > > On Jan 7, 1:24 pm, Delaney <[email protected]> wrote:
>
> > > > > > Sorry for the spamming of messages. But on page 213 of the manual
> > > > > > it
> > > > > > says... "The same mechanism can be applied to FORM and SQLFORM
> > > > > > objects."
>
> > > > > > Can I get an example that in the controller that will work with
> > > > > > custom
> > > > > > sqlforms? Maybe that's all I really need.
>
> > > > > > On Jan 7, 10:52 am, Delaney <[email protected]> wrote:
>
> > > > > > > Honestly doing keeping 'verify_email' in the db is not a big deal
> > > > > > > to
> > > > > > > me. If there is a way to reference other Field values in
> > > > > > > db.define_table I'll do it there instead. Just a little lost
> > > > > > > with the
> > > > > > > docs on how to do it.
>
> > > > > > > On Jan 7, 10:49 am, Delaney <[email protected]> wrote:
>
> > > > > > > > Sure,http://www.pasteall.org/10201/html4strict
>
> > > > > > > > This is the view and the output.
>
> > > > > > > > On Jan 7, 10:28 am, mdipierro <[email protected]> wrote:
>
> > > > > > > > > where do you get '<no table>.verify_email'? can you show the
> > > > > > > > > complete
> > > > > > > > > html output?
>
> > > > > > > > > On Jan 7, 12:22 pm,Delaney<[email protected]> wrote:
>
> > > > > > > > > > The controller is...
> > > > > > > > > > def reg_info():
> > > > > > > > > > form = SQLFORM(db.attendees)
> > > > > > > > > > form.append(
> > > > > > > > > > Field('verify_email','string',
> > > > > > > > > > requires = IS_EXPR('value==%s' %
> > > > > > > > > > repr(request.vars.get
> > > > > > > > > > (form.vars.email, None)),
> > > > > > > > > > error_message=T('Emails do
> > > > > > > > > > not
> > > > > > > > > > math'))))
>
> > > > > > > > > > if form.accepts(request.vars):
> > > > > > > > > > response.flash = 'form accepted'
> > > > > > > > > > session.attendee_name = "%s %s" %
> > > > > > > > > > (form.vars.first_name,form.vars.last_name)
> > > > > > > > > > redirect(URL(r=request,f='thank_you'))
> > > > > > > > > > elif form.errors:
> > > > > > > > > > response.flash = 'form has errors: %s' % form.errors
> > > > > > > > > > else:
> > > > > > > > > > response.flash = 'Please fill out the registration
> > > > > > > > > > form'
>
> > > > > > > > > > return dict(form=form)
>
> > > > > > > > > > When I try to use in the view
> > > > > > > > > > <div class="left"> {{=form.custom.label.verify_email}}
> > > > > > > > > > {{=form.custom.widget.verify_email}}</div>
>
> > > > > > > > > > I get '<no table>.verify_email'
>
> > > > > > > > > > I guess what I'm looking for is the ability to add a Field
> > > > > > > > > > to a
> > > > > > > > > > SQLForm that doesn't get stored in the DB. For now I'm
> > > > > > > > > > just add it to
> > > > > > > > > > the db.py with a custom validator but seems like there must
> > > > > > > > > > be some
> > > > > > > > > > way to make this a contoller/view addition without touching
> > > > > > > > > > the
> > > > > > > > > > model. Thanks for your time mdipierro!
>
> > > > > > > > > > On Jan 6, 6:19 pm, mdipierro <[email protected]>
> > > > > > > > > > wrote:
>
> > > > > > > > > > > Can you post an example of your code?
>
> > > > > > > > > > > On Jan 6, 7:22 pm,Delaney<[email protected]>
> > > > > > > > > > > wrote:
>
> > > > > > > > > > > > On page 228 of the web2py manual I see the docs
> > > > > > > > > > > > pertaining to almost
> > > > > > > > > > > > exactly what I'm trying to do with the title
> > > > > > > > > > > > 'Validators with
> > > > > > > > > > > > Dependencies' and see that 'The same mechanism can be
> > > > > > > > > > > > applied to FORM
> > > > > > > > > > > > and SQLFORM objects.'
>
> > > > > > > > > > > > However I don't want 'password_again' in the database.
> > > > > > > > > > > > If I try
> > > > > > > > > > > > inserting/append the Field into the sqlform it
> > > > > > > > > > > > complains about not
> > > > > > > > > > > > being in the table. Am I missing something?
>
> > > > > > > > > > > > On Jan 6, 2:37 pm,Delaney<[email protected]>
> > > > > > > > > > > > wrote:
>
> > > > > > > > > > > > > Thanks for that, but it doesn't seem to work when
> > > > > > > > > > > > > using
> > > > > > > > > > > > > sqlform.custom.label & wigdets. Which is how I
> > > > > > > > > > > > > happen to be doing the
> > > > > > > > > > > > > whole form for this application. Is there an
> > > > > > > > > > > > > alternative?
>
> > > > > > > > > > > > > On Jan 1, 9:21 am, mdipierro
> > > > > > > > > > > > > <[email protected]> wrote:
>
> > > > > > > > > > > > > > form=SQLFORM(...)
> > > > > > > > > > > > > > form[0].insert(position, TR(
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > LABEL(self.messages.verify_email + ':'),
> > > > > > > > > > > > > > INPUT(_name="email_two",
> > > > > > > > > > > > > > _type="email",
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > requires=IS_EXPR('value==%s' % \
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > repr(request.vars.get(email, None)),
> > > > > > > > > > > > > > error_message=T('Emails do
> > > > > > > > > > > > > > not math')),'')
>
> > > > > > > > > > > > > > On Dec 31 2009,
> > > > > > > > > > > > > > 5:52 pm,Delaney<[email protected]> wrote:
>
> > > > > > > > > > > > > > > So I'm finishing up my first web2py program (has
> > > > > > > > > > > > > > > been interesting,
> > > > > > > > > > > > > > > once you 'get' the web2py way of doing things.
> > > > > > > > > > > > > > > One last thing left.
> > > > > > > > > > > > > > > I need tolinkthe actions of a fewinputsfrom a
> > > > > > > > > > > > > > > SQLForm together.
>
> > > > > > > > > > > > > > > Specifically I need a double emailinputsthat have
> > > > > > > > > > > > > > > to matched but
> > > > > > > > > > > > > > > don't really need the second one in the model, or
> > > > > > > > > > > > > > > do I?
>
> > > > > > > > > > > > > > > Also need tolinka drop downinputand stringinput,
> > > > > > > > > > > > > > > so if the drop
> > > > > > > > > > > > > > > down option is 'Other' the stringinputhas to be
> > > > > > > > > > > > > > > filled out,
> > > > > > > > > > > > > > > otherwise it need to be empty.
>
> > > > > > > > > > > > > > > Where in the manual or online docs can I find the
> > > > > > > > > > > > > > > best way to
> > > > > > > > > > > > > > > implement this?
>
> > > > > > > > > > > > > > > Thanks!
>
>
--
You received this message because you are subscribed to the Google Groups
"web2py-users" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/web2py?hl=en.