In this challenge, you'd create a javascript validation script to validate the inputs entered by a user using RegEx.
In this challenge, you'd create a javascript validation script to validate the inputs entered by a user using RegEx.
You could always refer to the [Regular Expression Library](http://regexlib.com/(X(1)A(GijS7qxVy-6Gyc4cweUyFoK4ZvRn2WnlOe8SSKuq9sT7ps-2nbiTmZZMTCn_rFk4-mNoGnYL-DPU8pJhmNNOtkP-syqWE4WO_1aVt4bPa5nTsQPQe6VRAALnm6QW3YIWbYkVS78JFbZN39vmMI1UYiWlHXKwNMB99WjsZOn0qc_8dcN0unp2KMOBw0P__3OH0))/CheatSheet.aspx?AspxAutoDetectCookieSupport=1) for support
You could always refer to the [Regular Expression Library](<http://regexlib.com/(X(1)A(GijS7qxVy-6Gyc4cweUyFoK4ZvRn2WnlOe8SSKuq9sT7ps-2nbiTmZZMTCn_rFk4-mNoGnYL-DPU8pJhmNNOtkP-syqWE4WO_1aVt4bPa5nTsQPQe6VRAALnm6QW3YIWbYkVS78JFbZN39vmMI1UYiWlHXKwNMB99WjsZOn0qc_8dcN0unp2KMOBw0P__3OH0))/CheatSheet.aspx?AspxAutoDetectCookieSupport=1>) for support
For this project, there'd be three required inputs for validation:
For this project, there'd be three required inputs for validation:
- The first would require the user to enter five (5) capital letters, six (6) symbols and two hyphens (-) in any order. This could be used as a password.
- The first would require the user to enter five (5) capital letters, six (6) symbols and two hyphens (-) in any order. This could be used as a password.
- The second which could be used as username would require the user to enter letters without spaces
- The second which could be used as username would require the user to enter letters without spaces
- The third which could be used as email address would require the user to enter only email addresses on gmail (...@gmail.com).
- The third which could be used as email address would require the user to enter only email addresses on gmail (...@gmail.com).
@ -29,24 +35,20 @@ protections it is impossible to totally secure browser applications.
## User Stories
## User Stories
- [ ] User can see a Navigation Bar at the top of each page containing the
- [ ] User can see a Navigation Bar at the top of each page containing the
application name and a "hamburger" menu with these option:
application name and a "hamburger" menu with these option: - Dashboard - Transactions
- Dashboard
- Transactions
- [ ] User can see a Footer Bar at the bottom of each page containing an
- [ ] User can see a Footer Bar at the bottom of each page containing an
About link
About link
### Dashboard Page
### Dashboard Page
- [ ] User can see the Dashboard page when the app is started containing
- [ ] User can see the Dashboard page when the app is started containing
graphical summaries of the following key metrics. The graphical representation
graphical summaries of the following key metrics. The graphical representation
for each is left up to the Developer.
for each is left up to the Developer. - Contributions by month for the current year - Total contributions by year - Contribution increase/decrease by year - Average contribution amount by month and year
- Contributions by month for the current year
- Total contributions by year
- Contribution increase/decrease by year
- Average contribution amount by month and year
- [ ] User can return to the Dashboard page, if currently on another page, by
- [ ] User can return to the Dashboard page, if currently on another page, by
clicking on the 'Dashboard' option in the hamburger menu in the Navigation Bar.
clicking on the 'Dashboard' option in the hamburger menu in the Navigation Bar.
### Transactions Page
### Transactions Page
- [ ] User can see a transaction input panel containing the following:
- [ ] User can see a transaction input panel containing the following:
- Transaction date
- Transaction date
- Payee name
- Payee name
@ -63,10 +65,7 @@ empty state.
entered, add the validated entry to the transaction ledger, and clear the input
entered, add the validated entry to the transaction ledger, and clear the input
fields.
fields.
- [ ] User can see a consolidated error message detailing any errors detected
- [ ] User can see a consolidated error message detailing any errors detected
in input fields, including:
in input fields, including: - Invalid date - Blank Payee name - Non-numeric amount field
- Invalid date
- Blank Payee name
- Non-numeric amount field
- [ ] User can click on the 'Update' button to modify a previously entered
- [ ] User can click on the 'Update' button to modify a previously entered
transaction. The transaction details will be copied to the transaction input
transaction. The transaction details will be copied to the transaction input
panel and the 'Add' button will change to 'Modify'.
panel and the 'Add' button will change to 'Modify'.
@ -83,6 +82,7 @@ by clicking on the 'Transactions' option in the hamburger menu in the Navigation
Bar.
Bar.
### About Page
### About Page
- [ ] User can click the About link in the Footer Bar to display information
- [ ] User can click the About link in the Footer Bar to display information
about the Developer.
about the Developer.
- [ ] User can see links to the Developers GitHub and social media accounts
- [ ] User can see links to the Developers GitHub and social media accounts