Does this need the original validator to have been defined as a list to work?
Is there a difference between db.table.field.requires = first_validator and db.table.field.requires = [first_validator] Does your append code work in either case? If there is a difference, when you declare a field with "time" type is the IS_TIME validator added as a single validator or as a list with length 1? On Wednesday, November 13, 2013 11:48:57 AM UTC-5, Niphlod wrote: > db.table.field.requires.append(what_you_need) > > On Wednesday, November 13, 2013 6:43:38 AM UTC+1, User wrote: >> >> So since a time field automatically has an IS_TIME validator how would >> you specify additional validators after the db.define_table statement? >> >> On Tuesday, November 12, 2013 3:51:12 AM UTC-5, Niphlod wrote: >>> >>> requires can be a list of validators..... >>> >>> On Tuesday, November 12, 2013 9:32:27 AM UTC+1, User wrote: >>>> >>>> Just realized I added the following lines after my db.define_table >>>> statement: >>>> >>>> db.sometable.start_time.notnull = True >>>> db.sometable.start_time.requires = IS_NOT_EMPTY() >>>> >>>> >>>> I'm thinking that my assignment of IS_NOT_EMPTY() overwrote the default >>>> IS_TIME() validator associated with time fields. Does this sound like >>>> what >>>> the problem is? If so, how do I get around it? >>>> >>>> On Tuesday, November 12, 2013 3:24:36 AM UTC-5, User wrote: >>>> >>>>> I have some code that was working before but I can't quite pinpoint >>>>> why it's not working now. In any case it's a time field in a table and >>>>> when I insert into this field the database shows '00:00:00' in the field >>>>> (by looking at the record in an SQLite admin tool) >>>>> >>>>> Field('start_time','time', default='2:00PM'), >>>>> >>>>> I have a form where this value is inserted along with other form >>>>> values. The insert statement looks like: >>>>> >>>>> form.vars.id = db.sometable.insert(**db.sometable._filter_fields(form >>>>> .vars)) >>>>> >>>>> >>>>> I have inspected form.vars in the debugger immediately before this >>>>> statement is executed and I can see form.vars.start_time has a string >>>>> value >>>>> such as '3:00PM'. The insert statement executes with no error and the >>>>> record is inserted in the database but the time field shows as >>>>> 00:00:00. This further causes an error when trying to view the database >>>>> record from web2py: >>>>> >>>>> ValueError: invalid literal for int() with base 10: '00PM' >>>>> >>>>> >>>>> Any idea why the time is not inserting properly and how to fix it? Is >>>>> the time string in the wrong format? >>>>> >>>>> -- 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.