registrationForm.js 1.1 KB

12345678910111213141516171819202122
  1. import { useState } from 'react';
  2. import { connect } from 'react-redux'
  3. import { actionFullRegister } from '../actions'
  4. const RegistrationForm = ({ onRegistration }) => {
  5. const [login, setLogin] = useState("")
  6. const [password, setPassword] = useState("")
  7. const [passwordValidation, setPasswordValidation] = useState("")
  8. const validation = new RegExp(`^(?=.*[0-9]).{${4},}$`)
  9. return (
  10. <div className="reg-form">
  11. <span>password must be at least 4 characters long and contain a number </span>
  12. <input value={login} onChange={e => setLogin(e.target.value)} />
  13. <input type='password' value={password} onChange={e => setPassword(e.target.value)} />
  14. <input type='password' value={passwordValidation} onChange={e => setPasswordValidation(e.target.value)} />
  15. <button disabled={!(password === passwordValidation && validation.test(password))} onClick={() => onRegistration(login, password)}>Registration</button>
  16. </div>
  17. )
  18. }
  19. export const ConnectRegistrationForm = connect(null, { onRegistration: actionFullRegister })(RegistrationForm)