Programming/JavaScript

[ JavaScript ] ์ •๊ทœ์‹์— ๋งž์ง€ ์•Š์œผ๋ฉด ๋นˆ ๊ฐ’์œผ๋กœ ๋ฐ์ดํ„ฐ ์ดˆ๊ธฐํ™” ํ•˜๋ ค๋Š” ๋ฐ 0์œผ๋กœ ๋ณด์ด๋Š” ํ˜„์ƒ (edit box)

seulye 2023. 4. 14. 14:18

 

ํšŸ์ˆ˜๊ฐ€ 1~100 ๋ฒ”์œ„์— ๋“ค์–ด๊ฐ€์ง€ ์•Š์œผ๋ฉด ๋นˆ๊ฐ’์œผ๋กœ ์ดˆ๊ธฐํ™”ํ•˜๋ ค๊ณ  ํ•œ๋‹ค.

 

 

if (!new RegExp(/^(?:[1-9]|[1-9][0-9]|100)$/).test(params.newValue)) {
                dispatch({
                    type: SNACKBAR_OPEN,
                    message: '1~100 ์‚ฌ์ด ์ˆซ์ž๋งŒ ์ž…๋ ฅ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.',
                    alertSeverity: 'warning'
                });
                return params.oldValue;
            }
            return params.newValue;

๊ทธ๋ฆฌ๋“œ์—์„œ๋Š” valueParser์„ ์ด์šฉํ•ด์„œ ์ด๋ ‡๊ฒŒ ์ฝ”๋”ฉํ•˜๋ฉด ์ „๊ฐ’์œผ๋กœ ๋Œ์•„๊ฐ„๋‹ค. 

 

 

edit box๋Š” ๊ทธ๋Ÿฐ ๊ธฐ๋Šฅ์ด ์—†๋Š” ๊ฒƒ ๊ฐ™์œผ๋ฏ€๋กœ.. ๊ทธ๋ƒฅ ๋นˆ ๊ฐ’์œผ๋กœ ์ดˆ๊ธฐํ™”ํ•ด์ฃผ๋ ค๊ณ  ํ•œ๋‹ค. 

if (!new RegExp(/^(?:[1-9]|[1-9][0-9]|100)$/).test(values.value)) {
                dispatch({
                    type: SNACKBAR_OPEN,
                    message: '1~100 ์‚ฌ์ด ์ˆซ์ž๋งŒ ์ž…๋ ฅ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.',
                    alertSeverity: 'warning'
                });
                const eventInfo2 = JSON.parse(`{"count":""}`);
                list[index] = { ...resultInfo[index], ...eventInfo, ...eventInfo2 };
            }
            else {
                list[index] = { ...resultInfo[index], ...eventInfo };
            }

๊ทผ๋ฐ 0์„ ์ž…๋ ฅํ•˜๋ฉด ๋นˆ๊ฐ’์ด ์•„๋‹ˆ๋ผ ๊ณ„์† 0์œผ๋กœ ๋‚จ์•„์žˆ๋Š” ๊ฒƒ์ด๋‹ค..

 

 

์ฑ—์ง€ํ”ผํ‹ฐํ•œํ…Œ ๋ฌผ์–ด๋ณด๋‹ˆ๊นŒ,

๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ๊ฒฝ์šฐ๋Š”, values.value ๋ณ€์ˆ˜์˜ ๊ฐ’์ด ๋ฌธ์ž์—ด์ธ ์ƒํƒœ์—์„œ JSON.parse() ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋นˆ ๋ฌธ์ž์—ด์„ ๊ฐ€์ง€๋Š” ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•˜๊ณ , ์ด๋ฅผ eventInfo2 ๋ณ€์ˆ˜์— ํ• ๋‹นํ•˜๊ณ  ์žˆ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ดํ›„, eventInfo2 ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ list ๋ฐฐ์—ด์˜ ์š”์†Œ๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๋Š”๋ฐ, ์ด๋•Œ retryCount ์†์„ฑ์— ๋นˆ ๋ฌธ์ž์—ด์ด ํ• ๋‹น๋˜์–ด 0์œผ๋กœ ๋ณ€ํ™˜๋  ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

๋ผ๊ณ  ํ–ˆ๋‹ค. 

 

 

๊ทธ๋ž˜์„œ ๋ณ€๊ฒฝ๋  ๊ฐ’์„ '1'๋กœ ๋ฐ”๊ฟ”๋ณด๋‹ˆ๊นŒ ๋ฐ”๋€Œ์—ˆ๋‹ค. 

๋นˆ๊ฐ’์œผ๋กœ ๋„ฃ์œผ๋ฉด 0์œผ๋กœ ๋ณ€ํ™˜๋˜๋Š” ๊ฒŒ ๋งž๋‹ค...