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.

Reply via email to