Look like there are some typos:

typo #1 (perhaps?):
<form action="" enctype="multipart/form-data" method="post">
<table>
<tr id="testtable_testfield1__row">
    <td><label for="testtable_testfield1"   <---- what is attribute
'for' in 'for=="testtable_testfield1"??? Should it be 'form', not
'for"?
                                                          <--- and
even if 'form' is intended, that does not seem a typical attribute for
a <label> tag...


typo #2:
    <td><input class="string" name="testfield2" type="text"   <--- it
is missing id="testtable_testfield2"
value="{{=form.record.testfield2}}" /></td>

typo #3:
  {{elif session.action == "create":}}
     <td><input class="string" id="testtable_testfield1"  <------- I
think it should be id="testtable_testfield2"
 name="testfield2" type="text" value="" /></td>


I also suggest that you simply do a View Source in the browser and
carefully read over the generated markup to look for problems.

On May 2, 1:37 pm, Gary <[email protected]> wrote:
> The following MVC is used to create/update/read a single table.  The
> validation for not empty works with the {{=form}} but not the custom
> HTML.  Both versions are displayed in the same form and the data is
> changed and validated via either submit button, but the error message
> is only displayed in the top, standard form.
>
> Can anyone see what is causing the different behavior?
>
> Thanks
>
> Model
> -------
> try:
>     from gluon.contrib.gql import *  # if running on Google App Engine
> except:
>     db = SQLDB('sqlite://storage.db')  # if not, use SQLite or other
> DB
> else:
>     db = GQLDB()  # connect to Google BigTable
>     session.connect(request, response, db=db)  # and store sessions
> there
> ##
> db.define_table('testtable',SQLField('testfield1','string'),SQLField
> ('testfield2','string'))
> db.testtable.testfield1.requires=IS_NOT_EMPTY()
>
> from gluon.tools import Mail, Auth, Crud     # new in web2py 1.56
> crud=Crud(globals(),db)                      # for CRUD helpers using
> auth
> crud.settings.update_next = URL(r=request, f='index')
>
> Controller
> ------------
> def index():
>     session.action = "update"
>     redirect(URL(r=request,f='testdata',args=["3"]))
>
> def testdata():
>     if request.vars.submit1: session.action = "create"
>     if request.vars.submit2: session.action = "update"
>     if request.vars.submit3: session.action = ""
>     if session.action == "create":
>         return dict(form=crud.create(db.testtable))
>     elif session.action == "update":
>         id=request.args[0]
>         return dict(form=crud.update(db.testtable,id))
>     else:
>         id=request.args[0]
>         return dict(form=crud.read(db.testtable,id))
>
> def data():
>     response.view="%s/%s/%s.html" %
> (request.controller,request.function, request.args[0])
>     return dict(form=crud())
>
> View (default/testdata)
> -----------------------------
> {{extend 'layout.html'}}
> <h1>Testdata
> {{if session.action == "update":}}
> Update
> {{elif session.action == "create":}}
> Add
> {{pass}}
> </h1>
> {{=form}}
> =========================================
> <form action="" enctype="multipart/form-data" method="post">
> <table>
> <tr id="testtable_testfield1__row">
>     <td><label for="testtable_testfield1"
> id="testtable_testfield1__label">Testfield1: </label></td>
>     {{if session.action == "update":}}
>     <td><input class="string" id="testtable_testfield1"
> name="testfield1" type="text" value="{{=form.record.testfield1}}" /></
> td>
>     {{elif session.action == "create":}}
>     <td><input class="string" id="testtable_testfield1"
> name="testfield1" type="text" value="" /></td>
>     {{else:}}
>     <td>{{=form.record.testfield1}}</td>
>     {{pass}}
>     <td></td>
> </tr>
> <tr>
>     <td><label >Testfield2:</label></td>
>     {{if session.action == "update":}}
>     <td><input class="string" name="testfield2" type="text"
> value="{{=form.record.testfield2}}" /></td>
>     {{elif session.action == "create":}}
>     <td><input class="string" id="testtable_testfield1"
> name="testfield2" type="text" value="" /></td>
>     {{else:}}
>     <td>{{=form.record.testfield2}}</td>
>     {{pass}}
>     <td></td>
> </tr>
> {{if session.action == "update":}}
> <tr id="delete_record__row">
>     <td><label for="delete_record" id="delete_record__label">Check to
> delete:</label></td>
>     <td><input class="delete" id="delete_record"
> name="delete_this_record" type="checkbox" value="on" /></td>
>     <td></td>
> </tr>
> {{pass}}
> </table>
> {{include 'buttons.html'}}
> </form>
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"web2py Web Framework" 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