syndesisio / syndesis-ui

The front end application or UI for Syndesis - a flexible, customizable, cloud-hosted platform that provides core integration capabilities as a service. It leverages Red Hat's existing product architecture using OpenShift Online/Dedicated and Fuse Integration Services.
https://syndesis.io/
14 stars 28 forks source link

Specify what form fields should be validated #900

Open abkieling opened 6 years ago

abkieling commented 6 years ago

There is very little validation of data entered by users. We need to review all pages and specify what form field needs to be validated and what error message should be presented to the user. For example, this issue was raised due to a lack of validation in step 2 of the connection creation wizard: https://github.com/syndesisio/syndesis-ui/issues/820

gashcrumb commented 6 years ago

This seems a bit coarse as-is, note there's a couple layers this would touch:

1) Create connection flow, validation probably should be specified by the connector, might also want server-side validation for the connector configuration 2) Action configuration, also would need a bit of server-side validation potentially 3) Step configuration, would be nice to possibly have server-side validation

In all cases we could also consider extending the current form property configuration with some additional attributes to allow for some client-side validation as well beyond just requiring fields, such as having a regex for acceptable values, also ensuring the right form fields are used for a given setting etc.

I think this issue should probably track documenting the requirements and hopefully produce more concise issues in the above areas perhaps, as well as some general enhancements to the current form builder for client-side validation.

abkieling commented 6 years ago

All fair points. Thanks, Stan.

I guess the end result of this GitHub issue would be a specification agreed by UX and business/engineering about how we are going to validate data entry across our pages. The engineers will be able to help with specific requirements about validating connections, connectors, etc. and the UX will be able to help with a global approach to validation and good user experience.

I forgot that we have dynamic fields, right? The metadata will need to include information about field validation.

I'd expect all client-side validation to also be done on the back-end. We can create an issue on each project (UI and rest) for each piece of work.

On Wed, Sep 6, 2017 at 1:04 PM, Stan Lewis notifications@github.com wrote:

This seems a bit coarse as-is, note there's a couple layers this would touch:

  1. Create connection flow, validation probably should be specified by the connector, might also want server-side validation for the connector configuration
  2. Action configuration, also would need a bit of server-side validation potentially
  3. Step configuration, would be nice to possibly have server-side validation

In all cases we could also consider extending the current form property configuration with some additional attributes to allow for some client-side validation as well beyond just requiring fields, such as having a regex for acceptable values, also ensuring the right form fields are used for a given setting etc.

I think this issue should probably track documenting the requirements and hopefully produce more concise issues in the above areas perhaps, as well as some general enhancements to the current form builder for client-side validation.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/syndesisio/syndesis-ui/issues/900#issuecomment-327532173, or mute the thread https://github.com/notifications/unsubscribe-auth/AB0lT0nZK1ILjvBRs8jKjK7xnyLS8iKmks5sfsJ8gaJpZM4POfEW .

-- Alexandre KielingSr. Software Engineer, JBoss FuseRed Hat

dongniwang commented 6 years ago

Here's a list of pages with forms. Let me know if I missed any pages.

Global Settings - OAuth App Management image

Create Connection image

Edit Existing Connection image

Create Integration - Salesforce Create/Update Contact action image

Create Integration - Configure Basic Filter Step Does entering keywords also require some kind of validation? image

abkieling commented 6 years ago

The Configure Connection step of the Create Connection wizard can show a form in some situations but I guess you don't need to worry about that one because it's a dynamic form created from metadata retrieved from the server and the metadata specifies what fields are mandatory. In QE, if you choose Salesforce or Twitter, you'll see the form.

On Thu, Sep 7, 2017 at 5:07 PM, Dongni (Iris) Wang <notifications@github.com

wrote:

Here's a list of pages with forms. Let me know if I missed any pages.

Global Settings - OAuth App Management [image: image] https://user-images.githubusercontent.com/24943812/30182626-7f290824-93e5-11e7-86b8-0381856891f4.png

Create Connection [image: image] https://user-images.githubusercontent.com/24943812/30182676-ad7bf2ae-93e5-11e7-9125-f614190f3933.png

Edit Existing Connection [image: image] https://user-images.githubusercontent.com/24943812/30182700-c092aa0e-93e5-11e7-9ea6-b3681a2ebc54.png

Create Integration - Salesforce Create/Update Contact action [image: image] https://user-images.githubusercontent.com/24943812/30182734-dfd20176-93e5-11e7-9162-58e2deab9bb1.png

Create Integration - Configure Basic Filter Step Does entering keywords also require some kind of validation? [image: image] https://user-images.githubusercontent.com/24943812/30182779-121733cc-93e6-11e7-9bea-8a494df08b12.png

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/syndesisio/syndesis-ui/issues/900#issuecomment-327913406, or mute the thread https://github.com/notifications/unsubscribe-auth/AB0lT51aygmTJvLszTlxIzpm-ae9xxI1ks5sgEzxgaJpZM4POfEW .

-- Alexandre KielingSr. Software Engineer, JBoss FuseRed Hat

dongniwang commented 6 years ago

There's also the naming integration form.

image