deform icon indicating copy to clipboard operation
deform copied to clipboard

Error messages from HiddenWidgets / Handling of compound error messages

Open dairiki opened this issue 14 years ago • 2 comments

I've noticed that error messages triggered by hidden fields (e.g. fields using a HiddenWidget) do not get displayed. I think the solution to this is for MappingWidget to get a custom handle_error method which will stick the messages from any hidden subfields into the mapping's error messages.

While looking into this, I noticed a second issue. Some parts of deform properly handle array-valued Invalid.msgs (see, e.g., mapping_item.pt, sequence_item.pt); other parts expect a scalar string value (e.g. mapping.pt).

I think that compound (array-valued) error messages should be allowed on any Invalid instance. To that end:

  • mapping.pt should be fixed to support compound error messages
  • Field.errormsg needs attention. My suggestion is that, in the case of compound error messages, it should return '\n'.join(msg). It should also probably be deprecated.
  • TextAreaCSVWidget.handle_error and TextInputCSVWidget.handle_error should put compound error messages in a array rather than concatenating them into a single string. (Also the example at the end of the handle_error part of the "Writing Your Own Widget" doc section should be updated.)

I'm willing to formulate this as a pull request, but I wanted to run it by you first to make sure that it all sounds reasonable.

dairiki avatar Sep 14 '11 21:09 dairiki

Thx for this clear report !

I think that you can try to make a pullrequest to make your idea have a more formal state and we will review it For me it sounds good. Please add tests & docs !

kiorky avatar Sep 21 '12 08:09 kiorky

Pull requests still welcome.

miohtama avatar Dec 06 '16 10:12 miohtama