import React, { useState } from "react"; import { Form, Col, Row } from "react-bootstrap"; function PasswordForm(props) { const [pass2, setPass2] = useState(""); const [passValid, setPassValid] = useState(true); const [passMatch, setPassMatch] = useState(true); const onPassChange = (e) => { const password = e.target.value; props.onChange(password); const passValid = password.length >= 8; setPassValid(passValid); props.setValid(passValid && passMatch); }; const onPass2Change = (e) => { const password = e.target.value; setPass2(password); const passMatch = props.password === password; setPassMatch(passMatch); props.setValid(passValid && passMatch); }; return ( <div> <Form.Group as={Row}> <Form.Label as="legend" column sm={4}> Nueva contraseña </Form.Label> <Col sm={8}> <Form.Control placeholder="Nueva contraseña" type="password" value={props.password} onChange={onPassChange} isInvalid={!passValid} /> <Form.Control.Feedback type="invalid"> La contraseña es demasiado corta. </Form.Control.Feedback> </Col> </Form.Group> <Form.Group as={Row}> <Form.Label as="legend" column sm={4}> Confirme la contraseña </Form.Label> <Col sm={8}> <Form.Control placeholder="Repita la nueva contraseña" type="password" value={pass2} onChange={onPass2Change} isInvalid={!passMatch} /> <Form.Control.Feedback type="invalid"> Las contraseñas no coinciden. </Form.Control.Feedback> </Col> </Form.Group> </div> ); } export default PasswordForm;