diff options
| author | Jan Tuomi <jan.tuomi@eficode.com> | 2020-02-05 19:50:40 +0200 |
|---|---|---|
| committer | Jan Tuomi <jan.tuomi@eficode.com> | 2020-02-05 19:50:40 +0200 |
| commit | f9b88d03e322734b3e81e2df6e1dd2d13c919d6b (patch) | |
| tree | ed22518b1565717cfc710f00307a17898c2e3849 /frontend/src/Register.js | |
| parent | 71d9490d0988c97b8b023a70e0b61c65f32ad3b9 (diff) | |
Implement password strength requirements
Diffstat (limited to 'frontend/src/Register.js')
| -rw-r--r-- | frontend/src/Register.js | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/frontend/src/Register.js b/frontend/src/Register.js index 6ba1537..6b04816 100644 --- a/frontend/src/Register.js +++ b/frontend/src/Register.js @@ -7,12 +7,11 @@ import userState from './UserState'; const Register = () => { const { register, handleSubmit } = useForm(); - const [ loginError, setLoginError ] = useState(null); + const [ data, setData ] = useState({}); const onSubmit = async data => { if (data.password !== data.confirm_password) { - setLoginError('Passwords do not match.'); - return; + return setData({ errors: [ 'Passwords do not match.' ] }); } try { const resp = await axios.post('/register', data); @@ -22,10 +21,12 @@ const Register = () => { navigate('/'); } catch (err) { if (err.response && err.response.data) { - setLoginError(err.response.data.error); + setData({ + errors: [ err.response.data.error, ...(err.response.data.errors || []) ], + }); } else { console.error(err); - setLoginError('Unknown error occurred. See console for details.'); + setData({ errors: [ 'Unknown error occurred. See console for details.' ] }); } } }; @@ -45,7 +46,7 @@ const Register = () => { <button className="button" type="submit"> Register </button> - <div className="error">{loginError}</div> + <ul className="error">{data.errors ? data.errors.map(e => <li>{e}</li>) : null}</ul> {/* <div className="error">{errors}</div> */} </form> ); |
