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
-~----------~----~----~----~------~----~------~--~---