마스터 날짜 입력 제어: HTML 양식에서 과거 날짜 비활성화

王林
풀어 주다: 2024-09-06 13:00:31
원래의
780명이 탐색했습니다.

Master Date Input Control: Disabling Past Dates in HTML Forms

사용자에게 날짜를 선택해야 하는 양식을 작업할 때 사용자가 지난 날짜를 선택하지 못하도록 방지해야 하는 경우가 많습니다. 특히 약속 예약이나 예약과 같은 시나리오에서는 더욱 그렇습니다. 이는 많은 애플리케이션에서 공통적으로 요구되는 사항이며, 다행히 HTML과 JavaScript가 이를 처리하는 간단한 방법을 제공합니다.

HTML 날짜 입력

<입력> type="date"인 요소를 사용하면 사용자가 날짜를 쉽게 선택할 수 있습니다. 그러나 기본적으로 사용자는 과거 날짜를 포함하여 모든 날짜를 선택할 수 있습니다. 사용자가 현재 날짜 이전의 날짜를 선택하지 못하도록 제한하려면 JavaScript와 함께 min 속성을 사용할 수 있습니다.

HTML 날짜 입력 예

다음은 간단한 날짜 입력의 예입니다.

<input type="date" id="reservationDate" name="reservationDate" />
로그인 후 복사

지난 날짜 비활성화

사용자가 과거 날짜를 선택하지 못하도록 하려면 필드. min 속성은 선택할 수 있는 최소 날짜를 지정합니다.

JavaScript의 Date 객체를 사용하여 현재 날짜를 동적으로 설정하고 필수 YYYY-MM-DD 형식으로 형식을 지정하고 min 속성에 적용할 수 있습니다.

반응으로 구현

React 사용자의 경우 이를 TextField 구성 요소에 통합하는 방법은 다음과 같습니다.

import { TextField } from "@mui/material";
import { Field } from "formik";

const ReservationDateField = ({ touched, errors }) => {
  return (
    <Field
      as={TextField}
      label="Reservation Date"
      type="date"
      name="reservationDate"
      fullWidth
      margin="normal"
      InputLabelProps={{ shrink: true }}
      InputProps={{
        inputProps: {
          min: new Date().toISOString().split("T")[0], // Disable past dates
        },
      }}
      error={touched.reservationDate && Boolean(errors.reservationDate)}
      helperText={touched.reservationDate && errors.reservationDate}
    />
  );
};
로그인 후 복사

고장:

  • 날짜 형식: new Date().toISOString().split("T")[0]은 min 속성에 필요한 YYYY-MM-DD 형식으로 오늘 날짜를 제공합니다.
  • 최소 속성: 사용자가 오늘부터 날짜만 선택할 수 있도록 합니다.

이것이 왜 중요합니까?

다음과 같은 향후 이벤트를 관리하는 양식에서는 과거 날짜를 제한하는 것이 필수적입니다.

  • 약속 예약
  • 배송 예약
  • 향후 알림 설정

잘못된 날짜 선택을 방지하여 사용자 경험을 개선하고 사용자 오류 가능성을 줄입니다.

결론

지난 날짜를 비활성화하는 것은 양식을 개선할 수 있는 간단하면서도 강력한 방법입니다. 초보자이든 숙련된 개발자이든 이 기술을 적용하면 사용자가 실수로 잘못된 날짜를 선택하는 일이 발생하지 않습니다. 이 작은 단계가 애플리케이션의 유용성에 큰 변화를 가져올 수 있습니다.

위 내용은 마스터 날짜 입력 제어: HTML 양식에서 과거 날짜 비활성화의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:dev.to
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿