Ha! requires=[IS_NOT_EMPTY(), IS_LENGTH(64)]
And it works like a champ! On Monday, August 22, 2016 at 7:12:50 PM UTC-4, Ron Chatterjee wrote: > > Its all good. Just checking. Thanks for the help Niphlod. > > On Monday, August 22, 2016 at 5:11:17 PM UTC-4, Ron Chatterjee wrote: >> >> What I want is allowing user to put limited string but they can't submit >> the form with an empty field. >> >> requires = IS_EMPTY_OR([IS_LENGTH(8), IS_NOT_EMPTY()] ) >> >> That don't work. Obviously not because its conflicting. Right? In one >> hand I am saying empty or insert value (8) and then saying can't be empty. >> Do we have any other validators that I can try which takes those two >> arguments? >> >> On Monday, August 22, 2016 at 4:06:03 PM UTC-4, Niphlod wrote: >>> >>> to my knowledge, the general rule for validators is that if you have >>> multiple requirements, you should pass a list. >>> That being said, the are "special" validator, like IS_EMPTY_OR, that >>> take a validator as an argument. >>> >>> Goes without saying (it quite translates well), that >>> IS_EMPTY_OR(IS_LENGTH(8)) EITHER accepts nothing or a string shorter than 8 >>> chars. >>> Now, the "deal". How would you consider a field in a form that is not >>> filled ? None or '' ? >>> >>> IS_NOT_EMPTY() prevents an empty input. >>> >>> it's not clear what you want, but I guess something got cleared with my >>> previous comments. >>> Also, validators ONLY apply when you use them: forms, >>> validate_and_insert(), validate_and_update(), etc. Using validators only is >>> perfectly fine if you let the app validate each and every input. >>> length=123 enforces the underlying column to be of that length, but if >>> you want meaningful errors, you need to use validators anyways. >>> >>> On Monday, August 22, 2016 at 5:54:29 PM UTC+2, Ron Chatterjee wrote: >>>> >>>> In other words, if I do this: >>>> >>>> IS_EMPTY_OR(IS_LENGTH(8)) >>>> >>>> It prevents longer length string but the empty field is inserted as >>>> None. I want to prevent both. >>>> >>>> >>>> On Monday, August 22, 2016 at 10:54:08 AM UTC-4, Ron Chatterjee wrote: >>>>> >>>>> Two question, if you don't mind. >>>>> >>>>> (1) requires = IS_NOT_EMPTY(IS_LENGTH(64)) Or requires = >>>>> IS_EMPTY_OR(IS_LENGTH(64)) Doesn't work. In other words, if I want to >>>>> limit >>>>> the string field entry but also want requires not empty, how to go about >>>>> it? >>>>> >>>>> (2) for my sql, do I still need length = 64 (or 255 etc)? Its >>>>> redundant when I define IS_LENGTH(64) or do I need both? >>>>> >>>>> >>>>> >>>>> >>>>> On Monday, August 22, 2016 at 7:49:42 AM UTC-4, Niphlod wrote: >>>>>> >>>>>> requires=IS_LENGTH(64) will limit insertion upon validation. the >>>>>> "length" attribute gets translated, wherever possibile, to >>>>>> backend-specific >>>>>> syntaxes. >>>>>> >>>>>> On Sunday, August 21, 2016 at 4:21:22 AM UTC+2, [email protected] >>>>>> wrote: >>>>>>> >>>>>>> How we limit string length in DAL? It seems length = 64 doesn't >>>>>>> work. >>>>>>> >>>>>> -- 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 [email protected]. For more options, visit https://groups.google.com/d/optout.

