RegFormEvent.js 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. import React from 'react'
  2. import { Field, reduxForm } from 'redux-form';
  3. import { customSelect } from "../customFields/customSelect/customSelect";
  4. import { customInput } from "../customFields/customInput/customInput";
  5. import { validationForms } from "../../utils/validationForms";
  6. let RegFormEvent = props => {
  7. const { handleSubmit, regEventSubmit, eventId, reset } = props;
  8. const eventTypes = ['Select distance', 'Half marathone','Marathone'];
  9. const submit = value => {
  10. value.event = eventId;
  11. regEventSubmit(value);
  12. reset();
  13. };
  14. return (
  15. <form className="form" onSubmit={handleSubmit(submit)}>
  16. <Field name="name" label="Full name" type="text" id="name" component={customInput} />
  17. <Field name="phone" label="Phone" type="phone" id="phone" component={customInput} />
  18. <Field name="email" label="E-mail" type="email" id="email" component={customInput} />
  19. <div className="reg-radio">
  20. <div className="radio-label">
  21. <Field name="sex" component="input" type="radio" id="male" value="male" hidden/>
  22. <label htmlFor="male">male</label>
  23. </div>
  24. <div className="radio-label">
  25. <Field name="sex" component="input" type="radio" id="female" value="female" hidden/>
  26. <label htmlFor="female">female</label>
  27. </div>
  28. <div className="required-field">!Required field</div>
  29. </div>
  30. <Field name="distance" label="Distance" required component={customSelect}>
  31. {eventTypes.map( (elem,ind) => <option key={ind} value={elem}>{elem}</option>)}
  32. </Field>
  33. <Field name="userCountry" label="Country" type="text" id="userCountry" component={customInput} />
  34. <div className="btn-group">
  35. <button className="btn" type="submit">Register</button>
  36. </div>
  37. </form>
  38. )
  39. };
  40. RegFormEvent = reduxForm({
  41. form: 'regFormEvent',
  42. validate: validationForms
  43. })(RegFormEvent)
  44. export default RegFormEvent