FWIW, in repoze.formapi, I originally had the same constraint – no
required fields – but we later introduced it because of these reasons

See http://pypi.python.org/pypi/repoze.formapi/0.5.0 ("required fields")


On 28 May 2010 02:25, Tim Hoffman <zutes...@gmail.com> wrote:
> Hi
> I do think you are conflating form processing with db schema and the backend.
> Decoupling the form processing from any form of backend is a pretty
> important idea in my opinion.
> From the point of view of the form definition, I think you need to be
> able to define some type
> of sentinal value that indicates a field is empty, but valid if it is
> not required.
> I think it would be a mistake to assume that default implies either
> required or optional.
> It is quite feasible to have requirements where a default value is
> provided for a form field
> but that no value is ultimately required.  And its very common to have
> required fields
> with no obvious default value.
> So I would personally argue that having default value, and that a
> field is required or not be independent of each other.
> How and what you store in the backend (what ever it is) is (if there
> is one) is a whole different story.
> Regards
> T
>> I'm not sure I agree with "data returned ... contain a placeholder (default) 
>> value" for optionals. Does it make sense to allow using required= and 
>> default= independently?
>> I think I maybe be not thinking clearly enough about the distinction between 
>> the form processing and validation and marshalling to the appstruct, vs. the 
>> way (say) Django conflates schema and form and DB storage where a Integer 
>> field could be Null in their SQL DB.  While I'd like to allow (say) an 
>> Integer field to be optional, I understand the marshaller can't set a python 
>> int to None -- it doesn't know or care that the backend DB would like to 
>> store it as NULL for SQL or omit the field for Mongo.  I don't know if it 
>> makes sense for the marshaller to set an field whose schema is Integer to 
>> None if the field's marked optional and no value is supplied, or validate 
>> and marshal to an int if it is supplied.
>> This seems it would be a common use case so perhaps I'm thinking of it 
>> wrong, or need to create subclasses like NullableInteger but that seems like 
>> I'd be reinventing the wheel a bit.
>> Perhaps I'm just using it wrong; how are other users handling optional 
>> nonString fields?
>> Thanks, Chris.
>> _______________________________________________
>> Repoze-dev mailing list
>> Repoze-dev@lists.repoze.org
>> http://lists.repoze.org/listinfo/repoze-dev
> _______________________________________________
> Repoze-dev mailing list
> Repoze-dev@lists.repoze.org
> http://lists.repoze.org/listinfo/repoze-dev

Malthe Borch
Technical Advisor
+256 (0) 703 945 965
Repoze-dev mailing list

Reply via email to