[web2py] Re: Database insert of time field in web2py not working?

2013-11-15 Thread 黄祥

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

2013-11-15 Thread User
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?

2013-11-13 Thread Niphlod
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?

2013-11-12 Thread User
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?

2013-11-12 Thread Niphlod
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?

2013-11-12 Thread User
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.