You simply need in the model or in the action before SQLFORM db. register.sample_name.requires=(IS_ALPHANUMERIC(),IS_LENGTH(maxsize=6))
On Wednesday, 8 January 2014 07:44:15 UTC-6, curly wrote: > > Hello, > > I'm trying to validate a list:string field with is_alphanumeric and > is_length - trying to ensure that names are no longer than 6 alphanumeric > characters in length. (I'm running web2py 2.8.1 in ubuntu 12.04) > > view: > <li>Sample name *: {{=form.custom.widget.sample_name}}</li> > > controller: > form = SQLFORM(db.register,fields=[..,'sample_name',...]) > > if form.validate(onvalidation=validate_sample_name): > form.vars.id = db.register.insert(**dict(form.vars)) > response.flash = 'Reg saved.' > redirect(URL('samples', 'default', 'index')) > elif form.errors: > response.flash = 'form has errors' > return dict(form=form) > > model: > db.define_table( > "register", > ..... > Field('sample_name','list:string'), > ) > > def validate_sample_name(form): > for sample in form.vars.sample_name: > out,ers = IS_ALPHANUMERIC()(sample) and > IS_LENGTH(maxsize=6)('sample') > if ers: > form.errors.sample_name = ers > > > The above does check for alphanumeric characters but doesn't seem to check > for the length of each sample name. > > Am I doing something wrong? > > Many thanks. > > -- 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. For more options, visit https://groups.google.com/groups/opt_out.