password policy
This commit is contained in:
		
							parent
							
								
									5ac961330e
								
							
						
					
					
						commit
						0ea0b8b3c6
					
				|  | @ -33,7 +33,7 @@ function LoginUser({ loginValues, setLoginValues }) { | |||
|                         <div> | ||||
|                             <label>Email:</label> | ||||
|                             <input | ||||
|                                 type="text" | ||||
|                                 type="email" | ||||
|                                 value={loginValues.email} | ||||
|                                 onChange={(e) => | ||||
|                                     setLoginValues(prevValues => ({ ...prevValues, email: e.target.value }))} | ||||
|  | @ -44,7 +44,7 @@ function LoginUser({ loginValues, setLoginValues }) { | |||
|                         <div> | ||||
|                             <label>Password:</label> | ||||
|                             <input | ||||
|                                 type="text" | ||||
|                                 type="password" | ||||
|                                 value={loginValues.password} | ||||
|                                 onChange={(e) => | ||||
|                                     setLoginValues(prevValues => ({ ...prevValues, password: e.target.value }))} | ||||
|  |  | |||
|  | @ -1,12 +1,12 @@ | |||
| import React, { useState } from 'react'; | ||||
| import { useNavigate } from 'react-router-dom'; | ||||
| import {postUser} from "../../comunication/FetchUser"; | ||||
| import { postUser } from "../../comunication/FetchUser"; | ||||
| 
 | ||||
| /** | ||||
|  * RegisterUser | ||||
|  * @author Peter Rutschmann | ||||
|  */ | ||||
| function RegisterUser({loginValues, setLoginValues}) { | ||||
| function RegisterUser({ loginValues, setLoginValues }) { | ||||
|     const navigate = useNavigate(); | ||||
| 
 | ||||
|     const initialState = { | ||||
|  | @ -25,15 +25,23 @@ function RegisterUser({loginValues, setLoginValues}) { | |||
|         setErrorMessage(''); | ||||
| 
 | ||||
|         //validate
 | ||||
|         if(credentials.password !== credentials.passwordConfirmation) { | ||||
|         if (credentials.password !== credentials.passwordConfirmation) { | ||||
|             console.log("password != passwordConfirmation"); | ||||
|             setErrorMessage('Password and password-confirmation are not equal.'); | ||||
|             return; | ||||
|         } | ||||
| 
 | ||||
|         const passwordRegex = /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[!@#$%^&*()_+\-=\[\]{};':"\\|,.<>\/?]).{8,}$/;; | ||||
| 
 | ||||
|         if (!passwordRegex.test(credentials.password)) { | ||||
|             setErrorMessage('Password must contain at least one uppercase letter, one lowercase letter, one number, and one special character.'); | ||||
|             return; | ||||
|         } | ||||
| 
 | ||||
| 
 | ||||
|         try { | ||||
|             await postUser(credentials); | ||||
|             setLoginValues({userName: credentials.email, password: credentials.password}); | ||||
|             setLoginValues({ userName: credentials.email, password: credentials.password }); | ||||
|             setCredentials(initialState); | ||||
|             navigate('/'); | ||||
|         } catch (error) { | ||||
|  | @ -47,49 +55,49 @@ function RegisterUser({loginValues, setLoginValues}) { | |||
|             <h2>Register user</h2> | ||||
|             <form onSubmit={handleSubmit}> | ||||
|                 <section> | ||||
|                 <aside> | ||||
|                     <div> | ||||
|                         <label>Firstname:</label> | ||||
|                         <input | ||||
|                             type="text" | ||||
|                             value={credentials.firstName} | ||||
|                             onChange={(e) => | ||||
|                                 setCredentials(prevValues => ({...prevValues, firstName: e.target.value}))} | ||||
|                             required | ||||
|                             placeholder="Please enter your firstname *" | ||||
|                         /> | ||||
|                     </div> | ||||
|                     <div> | ||||
|                         <label>Lastname:</label> | ||||
|                         <input | ||||
|                             type="text" | ||||
|                             value={credentials.lastName} | ||||
|                             onChange={(e) => | ||||
|                                 setCredentials(prevValues => ({...prevValues, lastName: e.target.value}))} | ||||
|                             required | ||||
|                             placeholder="Please enter your lastname *" | ||||
|                         /> | ||||
|                     </div> | ||||
|                     <div> | ||||
|                         <label>Email:</label> | ||||
|                         <input | ||||
|                             type="text" | ||||
|                             value={credentials.email} | ||||
|                             onChange={(e) => | ||||
|                                 setCredentials(prevValues => ({...prevValues, email: e.target.value}))} | ||||
|                             required | ||||
|                             placeholder="Please enter your email" | ||||
|                         /> | ||||
|                     </div> | ||||
|                 </aside> | ||||
|                     <aside> | ||||
|                         <div> | ||||
|                             <label>Firstname:</label> | ||||
|                             <input | ||||
|                                 type="text" | ||||
|                                 value={credentials.firstName} | ||||
|                                 onChange={(e) => | ||||
|                                     setCredentials(prevValues => ({ ...prevValues, firstName: e.target.value }))} | ||||
|                                 required | ||||
|                                 placeholder="Please enter your firstname *" | ||||
|                             /> | ||||
|                         </div> | ||||
|                         <div> | ||||
|                             <label>Lastname:</label> | ||||
|                             <input | ||||
|                                 type="text" | ||||
|                                 value={credentials.lastName} | ||||
|                                 onChange={(e) => | ||||
|                                     setCredentials(prevValues => ({ ...prevValues, lastName: e.target.value }))} | ||||
|                                 required | ||||
|                                 placeholder="Please enter your lastname *" | ||||
|                             /> | ||||
|                         </div> | ||||
|                         <div> | ||||
|                             <label>Email:</label> | ||||
|                             <input | ||||
|                                 type="email" | ||||
|                                 value={credentials.email} | ||||
|                                 onChange={(e) => | ||||
|                                     setCredentials(prevValues => ({ ...prevValues, email: e.target.value }))} | ||||
|                                 required | ||||
|                                 placeholder="Please enter your email" | ||||
|                             /> | ||||
|                         </div> | ||||
|                     </aside> | ||||
|                     <aside> | ||||
|                         <div> | ||||
|                             <label>Password:</label> | ||||
|                             <input | ||||
|                                 type="text" | ||||
|                                 type="password" | ||||
|                                 value={credentials.password} | ||||
|                                 onChange={(e) => | ||||
|                                     setCredentials(prevValues => ({...prevValues, password: e.target.value}))} | ||||
|                                     setCredentials(prevValues => ({ ...prevValues, password: e.target.value }))} | ||||
|                                 required | ||||
|                                 placeholder="Please enter your pwd *" | ||||
|                             /> | ||||
|  | @ -97,10 +105,10 @@ function RegisterUser({loginValues, setLoginValues}) { | |||
|                         <div> | ||||
|                             <label>Password confirmation:</label> | ||||
|                             <input | ||||
|                                 type="text" | ||||
|                                 type="password" | ||||
|                                 value={credentials.passwordConfirmation} | ||||
|                                 onChange={(e) => | ||||
|                                     setCredentials(prevValues => ({...prevValues, passwordConfirmation: e.target.value}))} | ||||
|                                     setCredentials(prevValues => ({ ...prevValues, passwordConfirmation: e.target.value }))} | ||||
|                                 required | ||||
|                                 placeholder="Please confirm your pwd *" | ||||
|                             /> | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue