So I'm a control-freak. I mean that in a good way. I discovered the beauty of "placeholders" in forms and just thought "man, I really want that!" But where to hold the placeholder data? And how do I get it to the SQLFORM during form creation?
At first I thought about adding YAV (yet another variable) to the Field class. But it's getting pretty crowded in there already, and mucking with it means changes to the base, and the devs might object to a special-purpose hack inserted into Field just to satisfy my whims. So I thought I'd just create my own formstyle function and use that. But wait! The formstyle function has a defined signature now, and there is no place to insert anything like a dictionary of placeholders indeded by field name. Or is there... I created my own formstyle function, but added a keyword parameter to the end for the placeholders dict. The signature looke like this: def my_fieldstyle(form, fields, placeholders=None): ...blah... Now, the code in SQLFORM still has no idea that these placeholders exist. But I can "wrap" this function with either a "partial function" or a simple lambda to provide my own dictionary just before the customized formstyle function is handed off to SQLFORM for it's main job. It looks like this: my_placeholder_dict = {'field1': 'place1', 'field2', 'place2'...} ... styler = lambda form, fields: my_fieldstyle(form, fields, placeholders=my_placeholder_dict) ... form = SQLFORM(... formstyle=styler ...) That's all there is to it! Now I can pass abundant information into the SQLFORM created, info that the base form creation has no idea exists. My own custom formstyle class can interpret the extra information and add all kinds of special features. Just a few ideas: 1. Provide "placehloders" for phone and date fields to show proper format 2. Provide dictionary of "field sets" with "legends" and create a structured form organized the way I want 3. ... and many many more! Best of all, it only needs stupid Python tricks and doesn't much with the underlying structure of web2py at all! No nasty stares from the devs! (Just kidding...) -- Joe -- --- 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.