diff --git a/src/views/laanc/FlightPlan.js b/src/views/laanc/FlightPlan.js index 93202a6..e5e5af8 100644 --- a/src/views/laanc/FlightPlan.js +++ b/src/views/laanc/FlightPlan.js @@ -223,6 +223,9 @@ const FlightPlan = ({ handleChange, handlerNext, data, handlerWeather }) => { data-enable-time defaultValue={data.schFltStDt} value={data.schFltStDt} + options={{ + minDate: moment().format('YYYY-MM-DD') + }} onChange={date => { const value = moment(date[0]).format('YYYY-MM-DD HH:mm:ss') || @@ -250,6 +253,9 @@ const FlightPlan = ({ handleChange, handlerNext, data, handlerWeather }) => { data-enable-time defaultValue={data.schFltEndDt} value={data.schFltEndDt} + options={{ + minDate: moment().format('YYYY-MM-DD') + }} onChange={date => { const value = moment(date[0]).format('YYYY-MM-DD HH:mm:ss') || diff --git a/src/views/laanc/LeftMenu.js b/src/views/laanc/LeftMenu.js index 5777424..fa36ceb 100644 --- a/src/views/laanc/LeftMenu.js +++ b/src/views/laanc/LeftMenu.js @@ -14,6 +14,7 @@ import { } from '../../modules/basis/flight/models/basisFlightModel'; import { WeatherContainer } from '../../containers/basis/flight/plan/WeatherContainer'; import { Button, Modal, ModalHeader, ModalBody, ModalFooter } from 'reactstrap'; +import moment from 'moment'; function LeftMenu() { const [step, setStep] = useState(1); const [detailData, setDetailData] = useState(initFlightBas.initDetail); @@ -106,6 +107,13 @@ function LeftMenu() { const check_num = /[0-9]/; const check_kor = /^[가-힣a-zA-Z0-9][^!@#$%^&*()+\=\[\]{};':"\\|,.<>\/?\s]*$/; + // 시작일자 + const schFltStDt = moment(detailData.schFltStDt, 'YYYY-MM-DD HH:mm:ss'); + // 종료일자 + const schFltEndDt = moment(detailData.schFltEndDt, 'YYYY-MM-DD HH:mm:ss'); + + const currentDate = moment(); // 현재 날짜와 시간을 가져옵니다. + if (!detailData.pilotList[0].memberName) { setModal2({ isOpen: true, @@ -128,6 +136,23 @@ function LeftMenu() { desc: '이메일을 확인해 주세요.' }); + return false; + } else if ( + !schFltStDt.isAfter(currentDate) || + !schFltEndDt.isAfter(currentDate) + ) { + setModal2({ + isOpen: true, + title: '필수값 입력 오류', + desc: '비행 일자가 이미 지난 일자입니다.' + }); + return false; + } else if (schFltStDt.isAfter(schFltEndDt)) { + setModal2({ + isOpen: true, + title: '필수값 입력 오류', + desc: '비행일자를 확인해주세요.' + }); return false; } else if (!detailData.fltPurpose) { setModal2({