Browse Source

값 유효성(기체 페이지)

pull/2/head
sanguu 2 years ago
parent
commit
55df2a6b8e
  1. 21
      src/containers/basis/dron/BasisDronDetailContainer.js
  2. 33
      src/containers/basis/dron/BasisIdntfContainer.js

21
src/containers/basis/dron/BasisDronDetailContainer.js

@ -21,12 +21,27 @@ export const BasisDronDetailContainer = props => {
const titleName = ' 기체 관리'; const titleName = ' 기체 관리';
const [pageType, setPageType] = useState('create'); const [pageType, setPageType] = useState('create');
const validationSchema = yup.object().shape({ const validationSchema = yup.object().shape({
arcrftModelNm: yup.string().trim().required('모델명 을 입력해 주세요.'), arcrftModelNm: yup.string().trim().required('모델명 을 입력해 주세요.')
.max(20, '최대 20 자 이하 입력 부탁드립니다.')
.matches(
/^[가-힣a-zA-Z0-9][^!@#$%^&*()+\=\[\]{};':"\\|,.<>\/?\s]*$/,
'지원하지 않는 특수문자입니다.'
),
arcrftTypeCd: yup.string().trim().required('종류 를 선택해 주세요.'), arcrftTypeCd: yup.string().trim().required('종류 를 선택해 주세요.'),
cameraYn: yup.string().trim().required('카메라 탑재여부 를 선택해 주세요.'), cameraYn: yup.string().trim().required('카메라 탑재여부 를 선택해 주세요.'),
insrncYn: yup.string().trim().required('보험가입 여부를 선택해 주세요.'), insrncYn: yup.string().trim().required('보험가입 여부를 선택해 주세요.'),
prdctCmpnNm: yup.string().trim().required('제작사 를 입력해 주세요.'), prdctCmpnNm: yup.string().trim().required('제작사 를 입력해 주세요.')
prdctNum: yup.string().trim().required('제작번호 를 입력해 주세요.'), .max(20, '최대 20 자 이하 입력 부탁드립니다.')
.matches(
/^[가-힣a-zA-Z0-9][^!@#$%^&*()+\=\[\]{};':"\\|,.<>\/?\s]*$/,
'지원하지 않는 특수문자입니다.'
),
prdctNum: yup.string().trim().required('제작번호 를 입력해 주세요.')
.max(20, '최대 20 자 이하 입력 부탁드립니다.')
.matches(
/^[가-힣a-zA-Z0-9][^!@#$%^&*()+\=\[\]{};':"\\|,.<>\/?\s]*$/,
'지원하지 않는 특수문자입니다.'
),
wghtTypeCd: yup.string().trim().required('중량구분 을 선택해 주세요.'), wghtTypeCd: yup.string().trim().required('중량구분 을 선택해 주세요.'),
// ownerNm: yup.string().trim().required('운영자명 을 입력해 주세요.'), // ownerNm: yup.string().trim().required('운영자명 을 입력해 주세요.'),
// hpno: yup.string().trim().required('운영자 연락처 를 입력해 주세요.') // hpno: yup.string().trim().required('운영자 연락처 를 입력해 주세요.')

33
src/containers/basis/dron/BasisIdntfContainer.js

@ -61,6 +61,38 @@ export const BasisIdntfContainer = props => {
saveArr.forEach(idntf => { saveArr.forEach(idntf => {
const check_num = /[0-9]/;
const check_kor = /^[가-힣a-zA-Z0-9][^!@#$%^&*()+\=\[\]{};':"\\|,.<>\/?\s]*$/;
if (!check_num.test(idntf.hpno)) {
setModal({
isOpen: true,
title: '필수값 입력 오류',
desc: '연락처에 숫자만 입력해주세요.'
});
checking = false;
return false;
}
if (!check_kor.test(idntf.idntfNum)) {
setModal({
isOpen: true,
title: '필수값 입력 오류',
desc: '식별번호에 지원되지 않는 특수문자입니다.'
});
checking = false;
return false;
}
if (!check_kor.test(idntf.ownerNm)) {
setModal({
isOpen: true,
title: '필수값 입력 오류',
desc: '소유자명에 지원되지 않는 특수문자입니다.'
});
checking = false;
return false;
}
if (!idntf.idntfNum && idntf.idntfNum === '') { if (!idntf.idntfNum && idntf.idntfNum === '') {
setModal({ setModal({
isOpen: true, isOpen: true,
@ -114,6 +146,7 @@ export const BasisIdntfContainer = props => {
const addData = () => { const addData = () => {
setIdntfDataList([...idntDataList, { ...idntfData, id: Math.random() }]); setIdntfDataList([...idntDataList, { ...idntfData, id: Math.random() }]);
}; };

Loading…
Cancel
Save