Here is an example of using IS_IN_SET without a dropdown:
form=SQLFORM.factory(Field('choice',requires=IS_IN_SET
(('Yes','No','Maybe')),widget=SQLFORM.widgets.radio.widget))
On Sep 7, 11:23 am, "mr.freeze" <[email protected]> wrote:
> Yeah, it doesn't feel as elegant (adds 8 lines instead of 2) but
> having it in the validators means it can be used by custom widgets.
>
> On Sep 7, 11:11 am, Iceberg <[email protected]> wrote:
>
> > I won't argue that whether just two lines of code would make a "too
> > heavy" sqlhtml.py become "unacceptably heavy", but at least the
> > IS_IN_DB does not benefit from the improvement if it is not
> > implemented inside OptionsWidget.
>
> > By the way, would you give an example about "use the IS_IN_SET
> > validator without having the dropdown"?
>
> > On Sep7, 11:55pm, mdipierro <[email protected]> wrote:
>
> > > for various reasons:
> > > - sqlhtml is already too heavy, the more we delegate to the validators
> > > and the wdgets the better
> > > - because one should be able to do use the IS_IN_SET validator without
> > > having the dropdown
>
> > > I added the missing like and uploading...
>
> > > Massimo
>
> > > On Sep 7, 10:50 am, "mr.freeze" <[email protected]> wrote:
>
> > > > It throws an error for IS_IN_DB. It's just missing 'self.zero = zero'
> > > > in the __init__ function. It works after that. I'm curious though,
> > > > why did you moved it from OptionsWidget to the validators?
>
> > > > On Sep 7, 10:25 am, mdipierro <[email protected]> wrote:
>
> > > > > I modified your patch.
>
> > > > > In trunk try this
>
> > > > > Field(...,requires=IS_IN_SET(('a','b','c'),zero=T('choose one')))
>
> > > > > the option "zero" will be added at top but not accepted unless:
>
> > > > > Field(...,requires=IS_NULL_OR(IS_IN_SET(('a','b','c'),zero=T('choose
> > > > > one'))))
>
> > > > > please give it a try.
>
> > > > > Massimo
>
> > > > > On Sep 5, 12:03 pm, Iceberg <[email protected]> wrote:
>
> > > > > > On Sep5, 11:51pm, "mr.freeze" <[email protected]> wrote:
>
> > > > > > > Perhaps a better solution is checking if the value for 'default'
> > > > > > > argument is *not* in the set and then appending it to the set but
> > > > > > > not
> > > > > > > allowing it to pass validation if selected. What do you think?
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"web2py-users" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/web2py?hl=en
-~----------~----~----~----~------~----~------~--~---