Thomas Lotze wrote:
zope.app.form items edit widgets don't provide the "no value" value if the corresponding field is required. While this prevents invalid input, it means that e.g. a drop-down box may then have one of the valid values pre-selected. If user forgets to change that value, he could save the form without noticing that the default value is implicitly selected, which may be completely wrong.
In some cases it would be preferrable for the widget to default to a "no value" value even if the field is required so the form won't validate if the user doesn't consciously select a value. One of our customers asked for this behaviour, for example. If noone objects, we'd like to change zope.app.form accordingly.
+1, but perhaps for required fields we shouldn't say "(no value)", we should say "(select a value)".