Good question. I never used required=True. It is there as a way to make sure that if you do manual insert(...) you do not forget to set the value of the field.
Massimo On Feb 17, 9:35 am, NetHead <[email protected]> wrote: > BASE QUESTION: What does "required=true" in the DAL actually do? > Could someone describe a "real-life" scenario where the use of this > setting/command would be useful or necessary? > > In the course of trying make sure that a user doesn't leave an > important column blank on an input form, the issue of "required=true" > vs. requires came up. > > I eventually achieved my goal with the following validator and > "requires". > > db_bosswalk.BW_dept_info.Dept_id.requires=IS_NOT_EMPTY > (error_message='Dept ID cannot be blank!') > > However.... while exploring "required=true", I came to the conclusion > that this feature just didn't really seem to do ANYTHING > constructive.... at least using SQL Server for the database. > > Whether it was specified (or not), I could not get the app to act > differently when attempting to add a record where the Dept_id column > was left blank. > > Here's the Model line for that column: > SQLField('Dept_id', 'string', length=6, required=True), #varchar > (6) > > I scoured the web2py manual and these online forums, but there's not > much else written on this topic other than the fragments below. > > Page 138 of web2py manual: > > "required" tells the DAL that no insert should be allowed on this > table if a > value for this field is not explicitly specified." > > Page 139 of web2py manual: > > Notice that requires=... is enforced at the level of forms, > required=True is enforced at the level of the DAL (insert), while > notnull, unique and ondelete are enforced at the level of the > database. While they sometimes may seem redundant, it is important > to maintain the distinction when programming with the > DAL. > > ********************************* > Here's an explanation that makes this matter somewhat confusing to my > traditional line of thought. If ANY value in the input box (null, > blank, numeric, string) is okay, then what is the true role of this > setting/command/feature????? > > http://groups.google.com/group/web2py/browse_thread/thread/d9cab03764... > > If a field is required, it does not > matter what value it has (it can be null unless notnull=True) but, > if > it does not have a default, it must be set. > > Thanks! > > Todd B. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "web2py Web Framework" 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 -~----------~----~----~----~------~----~------~--~---

