+
{
+ if (e.nativeEvent.isComposing) {
+ return;
+ }
+ if (e.key === 'Enter') {
+ e.preventDefault();
+ if (labelInput.length >= 10) {
+ setError('labels', {
+ type: 'manual',
+ message: '라벨은 최대 10자까지 입력할 수 있어요.',
+ });
+ return;
+ }
+ if (labels.includes(labelInput)) {
+ setError('labels', {
+ type: 'manual',
+ message: '같은 라벨을 2개 이상 등록할 수 없어요.',
+ });
+ return;
+ }
+ if (labels.length >= 3) {
+ setError('labels', {
+ type: 'manual',
+ message: '라벨은 최대 3개까지 입력할 수 있어요.',
+ });
+ return;
+ }
+ setValue('labels', [...labels, labelInput]);
+ setLabelInput('');
+ }
+ }}
+ onChange={(e) => {
+ setError('labels', {});
+ setLabelInput(e.target.value);
+ }}
+ />
+ {errors.labels &&
{errors.labels.message?.toString()}
}
+
+ {labels.map((label: string) => (
+
+ {label}
+ {
+ setValue(
+ 'labels',
+ labels.filter((l: string) => l !== label)
+ );
+ setError('labels', {});
+ }}
+ />
+
+ ))}
+
+