Estoy trabajando en un proyecto que tiene un formulario. Estoy usando Reacttsrap para ello. Uno de los campos es una fecha para el usuario. Necesito usar una lógica que permita a los usuarios mayores de 18 años. Además, deshabilite las fechas futuras. No hay mucha explicación al respecto en la documentación de reactstrap. Además, he visto muchos ejemplos en línea, pero no he visto uno con estos requisitos y que funcione. Actualmente, tengo este código de la forma:
<FormGroup> <Input id='user-age' name='date' type='date' aria-label='Date of birth' value={this.state.date} // onChange={(event) => this.handleInputChange(event)} /> <Label for='user-age'>*Date of birth (DD/MM/YY)</Label> </FormGroup>El código comentado es solo una idea de un controlador para que funcione. Cualquier ayuda sería muy apreciada.
Acabo de encontrar una respuesta de aquí que me ayudó a resolver el problema.
function getAge(dateString: string | number | Date) { var today = new Date(); var birthDate = new Date(dateString); var age = today.getFullYear() - birthDate.getFullYear(); var m = today.getMonth() - birthDate.getMonth(); if (m < 0 || (m === 0 && today.getDate() < birthDate.getDate())) { age--; } return age; }