It does:

min <= len(values) < max

Note it's a strict less than for the max, so if you want <= 2 values, that 
is equivalent to < 3. Basically, it's an inclusive min but an exclusive max.

Anthony

On Sunday, December 18, 2011 7:40:10 PM UTC-5, ニコノコ wrote:
>
> Anthony, could you elaborate a bit on that notation?
> multiple=(0,3)
>
> I wanted a maximum of two items and yet I need to write "3". In the book, 
> I've seen something similar with the limitby argument for DAL select:
> >>>for row in db().select(db.person.ALL, limitby=(0, 2)): print row.name
>
> which fetches "the first two, starting at zero" records.
>
>
> On Friday, December 16, 2011, Anthony wrote:
>
>> Shhh! It's a secret.
>>
>> Actually, it has been added to the new 4th edition, which should be 
>> available online soon.
>>
>> Anthony
>>
>> On Thursday, December 15, 2011 7:06:21 PM UTC-5, ニコノコ wrote:
>>>
>>> Thanks Anthony. I don't think I've seen that in the docs.
>>>
>>> On Thursday, December 15, 2011, Anthony wrote:
>>>
>>>> Try
>>>>
>>>> IS_IN_DB(..., multiple=(0, 3))
>>>>
>>>> The "multiple" argument to IS_IN_SET and IS_IN_DB can be a list or 
>>>> tuple specifying a minimum and maximum number of items to be selected 
>>>> (strictly less than on the max, so set the max to 3 to make sure there are 
>>>> no more than 2).
>>>>
>>>> Anthony
>>>>
>>>> On Wednesday, December 14, 2011 11:19:40 PM UTC-5, ニコノコ wrote:
>>>>>
>>>>> I have a list:reference field and would like a user to select none or 
>>>>> up to two values from the list
>>>>>
>>>>> I could validate by calling onvalidation but I'm wondering if there's 
>>>>> any built-in validator that should work? I've tried the following, 
>>>>> none of which worked for me:
>>>>>
>>>>>    - IS_LENGTH(minsize=0,maxsize=2)
>>>>>    - IS_EXPR('len(value)<=2')
>>>>>
>>>>>
>>>>>
>>>>> 

Reply via email to