Limenius / LiformBundle

Symfony Bundle to render Symfony Forms to JSON Schema
MIT License
137 stars 43 forks source link

widget instead of format #11

Open ghost opened 6 years ago

ghost commented 6 years ago

The bundle is working properly, but it returns widget instead of format. "address": { "type": "string", "title": "Email address", "widget": "email", "propertyOrder": 2 },

nacmartin commented 6 years ago

Yes, this should be fixed. There are widgets like "textarea" that are only UI hints, but the case of email the rule should be stronger, not only a UI hint.

hpatoio commented 6 years ago

I faced the very same issue and I've already applied a patch in my local branch. Before opening a PR I want to share a couple of points:

  1. I think that widget should be completely removed from the response. It's an information related to the UI and thus it has nothing to do with the data model

  2. At the moment I only support email format. I will also add support for date related form but this open a space to discussion. According to this document http://json-schema.org/latest/json-schema-validation.html#rfc.section.7.3 datetime should be sent using the format YYYY-MM-DDTHH:MM:SS.FFFZ while date must have the format YYYY-MM-DD. This means that we should not consider the parameter format for the DateType and DateTimeType. See https://symfony.com/doc/current/reference/forms/types/datetime.html#format and https://symfony.com/doc/current/reference/forms/types/date.html#format

Are these 2 point ok for you ?

nacmartin commented 6 years ago

@hpatoio there will always be information related with the UI that has nothing to do with the data model here. Otherwise we cannot build a form generator based on json-schema, because we will need more information apart from what is needed to simply describe the data.

hpatoio commented 6 years ago

@nacmartin ok. What about the point 2 ?

hugoalexmartins commented 6 years ago

Anyone knows how to change the key widget to format ?

Or how to solve this issue ?

I am using angular-schema-form to handle forms. @hpatoio do you know how to sold this issue ? Thanks in advance.