awesome-forms
awesome-forms copied to clipboard
Form management demos with Web UI libraries
Awesome Forms [WIP]
In this project, you will see a complex web form implentation via different Web UI libraries or their extensions.
Acceptance Criteria
- You will implement a complex registration form.
- Fields:
- Name. Required. At least 2 words. Maximum 100 chars. Numbers not allowed.
- Email. Required. Email validation. Server-side request*(when input changed) for checking if it's already registered.
- Country Selection. Required. Select from a list with
id: label.idvalue should sent to server - City Selection. Optional. Select from a list with
id: label.idvalue should sent to server. City selection should be shown aftercountryselection. - Photo. Optional. Image upload. Only jpg format should be allowed. File size should be less than 5MB.
- Password. 2 fields should be matched. At least 8 chars that includes one number, one uppercase letter, one lowercase letter.
- Form output to server should be json in that format:
{ "name": "Yan Chu", "email": "[email protected]", "country": "90", "city": "34", "photo": "http://to.an/image/url.jpg", "password": "Crazy-82" } - Form should be prefillable with same output json object.
E-mail check endpoint
GET: https://somedomain.now.sh/emails/{[email protected]}
Will return 404 if this email is not registered. (Without response body)
Will return 200 if this email is registered. (Without response body)
Contributing
- Create folder inside
examplesfolder - Create a
README.mdfile in your example folder and define your solution. - Implement and push your example.
- Your
package.jsonfile should have abuildscript and your demo application should be ready indistfolder after running this script. - Create your pull-request
- After merging your pull-request, your demo will be live in
muratcorlu.github.io/awesome-forms/examples/{your-example-folder-name}