[web2py] Re: Database insert of time field in web2py not working?
> > Does this need the original validator to have been defined as a list to > work? > it depend, wheter you need 1 validator or more than 1 validator, if more than 1 validator please use list of validators []. > db.table.field.requires = first_validator > use it if you only need 1 validator e.g. db.supplier.email.requires = IS_NOT_EMPTY() db.table.field.requires = [first_validator] > use it if you need more than 1 validator e.g. db.supplier.email.requires = [IS_LOWER(), IS_EMAIL(), IS_NOT_IN_DB(db, db.supplier.email)] best regards, stifan > -- 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.
[web2py] Re: Database insert of time field in web2py not working?
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.
[web2py] Re: Database insert of time field in web2py not working?
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.
[web2py] Re: Database insert of time field in web2py not working?
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.
[web2py] Re: Database insert of time field in web2py not working?
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.
[web2py] Re: Database insert of time field in web2py not working?
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.