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.


Reply via email to