Very simple Form and Grid sample to show some errors: In Grid: decimal field does not show / allow input.
In Form: date and time widgets not working Mainly copied from examples, Showing what was modified: models.py import os from py4web import DAL, Field from pydal.validators import * # define database and tables db = DAL('sqlite://storage.db', folder=os.path.join(os.path.dirname(__file__), 'databases')) # simple table example db.define_table( 'sam_table', Field('samString', 'string', length=10, unique=True, required=True, requires = [IS_LENGTH(10, 4), IS_SLUG(maxlen=10, check=True, error_message='Only alphanumeric characters and non-repeated dashes.')], comment='Unique identifier.'), Field('samText', 'text', comment='Enter a description text.'), Field('samBool', 'boolean', comment='Are you interested in py4web ?'), Field('samDate', 'date', required=True, requires = [IS_NOT_EMPTY(), IS_DATE()], comment='Enter a valid sample date.'), Field('samTime', 'time', requires = IS_TIME(), comment='Enter a valid sample time.'), Field('samInteger', 'integer', default=0, requires = IS_INT_IN_RANGE(0, 9999, error_message='Must be integer between 0 and 9999.'), comment='Enter a valid sample integer.'), Field('samDecimal', 'decimal(4,2)', default=0.0, requires = IS_DECIMAL_IN_RANGE(0, 35.0, dot='.'), comment='Enter a decimal between 0 and 35.'), ) if not db(db.sam_table).count(): db.sam_table.insert( samString='2011', samText='This record was inserted when first time create-table.', samBool=True, samDate='2011-12-24', samTime='11:45:00', samInteger=1234, samDecimal=21.50) db.commit() __init__.py import os from py4web import * from py4web.utils.form import Form, FormStyleBulma from py4web.utils.publisher import Publisher, ALLOW_ALL_POLICY from pydal.validators import * from . models import db session = Session(secret='mysecret') T = Translator(os.path.join(os.path.dirname(__file__), 'translations')) publisher = Publisher(db, policy=ALLOW_ALL_POLICY) @action('index') @action.uses('index.html') def index(): return {} # exposed as /sample/create_form or /sample/update_form/<id> @action('create_form', method=['GET','POST']) @action('update_form/<id>', method=['GET','POST']) @action.uses('form.html', db, session) def sample_form(id=None): form = Form(db.sam_table, id, deletable=False, formstyle=FormStyleBulma) rows = db(db.sam_table).select() return dict(form=form, rows=rows) # exposed as /sample/grid @action('grid') @action.uses('grid.html') def sample_grid(): return dict(grid=publisher.grid(db.sam_table)) form.html [[extend 'layout.html']] <h2 class="title">Sample Form</h2> [[=form]] <h2 class="title">Rows</h2> <ul> [[for row in rows:]] <li>[[=row.id]]: [[=row.samString]] ( [[=row.samBool]] )</li> [[pass]] </ul> Have not tested translations yet. -- Resources: - http://web2py.com - http://web2py.com/book (Documentation) - http://github.com/web2py/web2py (Source code) - https://code.google.com/p/web2py/issues/list (Report Issues) --- You received this message because you are subscribed to the Google Groups "web2py-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to web2py+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/web2py/2970f12a-8c03-4936-b66e-f802cc70dc5e%40googlegroups.com.