AgregarExpress.js 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. import React from 'react';
  2. import * as Yup from 'yup';
  3. import { Formik, Field, Form } from 'formik';
  4. import { Modal } from 'react-bootstrap'
  5. const ExpressSchema = Yup.object().shape({
  6. link : Yup.string().required('El enlace es requerido').url("Debes agregar un enlace válido, recurda iniciar con http o https ").min(5).max(190),
  7. })
  8. export default function Express (props) {
  9. let { visible, onClose } = props
  10. return (
  11. <Modal size="lg" aria-labelledby="contained-modal-title-vcenter" centered show={visible} onHide={onClose}>
  12. <Modal.Header>
  13. <button onClick={onClose} type="button" className="close" data-dismiss="modal">&times;</button>
  14. <h4 className="modal-title">Agregar plaza express</h4>
  15. </Modal.Header>
  16. <Modal.Body>
  17. <Formik
  18. initialValues={{
  19. link : ''
  20. }}
  21. validationSchema={ExpressSchema}
  22. onSubmit={ (values) => {
  23. props.setExpress(false)
  24. console.log('VALUES Express >> ',values)
  25. }}
  26. >
  27. { ({ errors, touched, validateField, validateForm, setFieldValue }) => (
  28. <Form>
  29. <div className="data_product">
  30. <div className="row">
  31. <div className="col-md-12">
  32. <Field type="link" name="link" placeholder="Link de la plaza"/>
  33. {errors.link && touched.link && <div className="error_feedback">{errors.link}</div>}
  34. </div>
  35. <div className="add_producto_confirm">
  36. <button className="btn_add_producto_confirm" type="submit">Agregar plaza</button>
  37. </div>
  38. </div>
  39. </div>
  40. </Form>
  41. )}
  42. </Formik>
  43. </Modal.Body>
  44. </Modal>
  45. )
  46. }