From bc80899423fce09be34baf72ac04fca915f3dea0 Mon Sep 17 00:00:00 2001
From: wyu <kknd09321@nate.com>
Date: 수, 22 12월 2021 14:27:29 +0900
Subject: [PATCH] 이슈추가, 수정 탐지정보 사용자 정의필드 정규표현식 추가

---
 src/main/webapp/views/issue/issueAdd.html |  102 ++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 80 insertions(+), 22 deletions(-)

diff --git a/src/main/webapp/views/issue/issueAdd.html b/src/main/webapp/views/issue/issueAdd.html
index 57e7322..836d34b 100644
--- a/src/main/webapp/views/issue/issueAdd.html
+++ b/src/main/webapp/views/issue/issueAdd.html
@@ -127,7 +127,7 @@
                         <js-autocomplete-multi data-input-name="departments"
                                                selected-model="vm.form.departments"
                                                search="vm.departmentName"
-                                               source="fn.getIssueDepartmentList(vm.departmentName, vm.form.departments)"
+                                               source="fn.getIssueDepartmentList(vm.form.issueTypeId, vm.departmentName, vm.form.departments)"
                                                input-disabled="false"
                                                translation-texts="{ count : 'common.userNum', empty : 'common.emptyProjectDepartment'}"
                                                extra-settings="{ displayProp : 'byName' , idProp : 'id', imageable : false, maxlength : 100, autoResize : true}"></js-autocomplete-multi>
@@ -236,7 +236,7 @@
                                 <!-- 湲곕낯 �엯�젰 -->
                                 <div ng-switch-when="INPUT">
                                     <input type="text" class="form-control input-sm"
-                                           name="input"
+                                           name="inputValue"
                                            ng-model="issueCustomField.useValues"
                                            maxlength="100"
                                            autocomplete="off"
@@ -244,32 +244,39 @@
                                            ng-required="issueCustomField.fieldOption == '01' || issueCustomField.customFieldVo.requiredData == 'Y'">
                                     <small class="help-block form-text text-danger"
                                            ng-show="issueCustomField.customFieldVo.requiredData == 'Y'"
-                                           ng-if="issueAddForm.input.$error.required"
+                                           ng-if="issueAddForm.inputValue.$error.required"
                                            translate="issue.pleaseEnterIssueTypeCustomFields">�빐�떦 �궗�슜�옄�젙�쓽�븘�뱶�뒗 �븘�닔 �엯�젰 媛� �엯�땲�떎.
                                     </small>
                                 </div>
 
                                 <div ng-switch-when="NUMBER">
                                     <input type="text" class="form-control input-sm"
-                                           name="number"
+                                           name="numberType"
                                            ng-model="issueCustomField.useValues"
                                            maxlength="100"
                                            autocomplete="off"
                                            kr-input
+                                           ng-pattern="/^[0-9]*$/"
+                                           placeholder="�닽�옄留� �엯�젰 媛��뒫�빀�땲�떎."
                                            ng-required="issueCustomField.fieldOption == '01' || issueCustomField.customFieldVo.requiredData == 'Y'">
                                     <small class="help-block form-text text-danger"
                                            ng-show="issueCustomField.customFieldVo.requiredData == 'Y'"
-                                           ng-if="issueAddForm.number.$error.required"
+                                           ng-if="issueAddForm.numberType.$error.required"
                                            translate="issue.pleaseEnterIssueTypeCustomFields">�빐�떦 �궗�슜�옄 �젙�쓽 �븘�뱶�뒗 �븘�닔 �엯�젰 媛� �엯�땲�떎.
                                     </small>
+                                    <div ng-show="issueAddForm.numberType.$error.pattern" class="help-block form-text text-danger"
+                                         translate="common.invalidNumberFormat">�닽�옄留� �엯�젰 媛��뒫�빀�땲�떎.
+                                    </div>
                                 </div>
 
                                 <div ng-switch-when="DATETIME">
-                                    <input type="text" class="form-control input-sm"
+                                    <input class="form-control input-sm input-readonly"
                                            name="dateTime"
                                            ng-model="issueCustomField.useValues"
-                                           maxlength="100"
-                                           autocomplete="off"
+                                           placeholder="{{'issue.clickToSelectDate' | translate}}"
+                                           modal-form-auto-scroll
+                                           range-type="singleDate"
+                                           date-range-picker
                                            kr-input
                                            ng-required="issueCustomField.fieldOption == '01' || issueCustomField.customFieldVo.requiredData == 'Y'">
                                     <small class="help-block form-text text-danger"
@@ -283,15 +290,38 @@
                                     <input type="text" class="form-control input-sm"
                                            name="ipAddress"
                                            ng-model="issueCustomField.useValues"
-                                           maxlength="100"
                                            autocomplete="off"
                                            kr-input
+                                           ng-pattern="/^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/"
+                                           placeholder="IP 二쇱냼 �삎�떇留� �엯�젰 媛��뒫�빀�땲�떎."
                                            ng-required="issueCustomField.fieldOption == '01' || issueCustomField.customFieldVo.requiredData == 'Y'">
                                     <small class="help-block form-text text-danger"
                                            ng-show="issueCustomField.customFieldVo.requiredData == 'Y'"
                                            ng-if="issueAddForm.ipAddress.$error.required"
                                            translate="issue.pleaseEnterIssueTypeCustomFields">�빐�떦 �궗�슜�옄 �젙�쓽 �븘�뱶�뒗 �븘�닔 �엯�젰 媛� �엯�땲�떎.
                                     </small>
+                                    <div ng-show="issueAddForm.ipAddress.$error.pattern" class="help-block form-text text-danger"
+                                         translate="common.invalidipAdressFormat">IP二쇱냼 �삎�떇�씠 留욎� �븡�뒿�땲�떎.
+                                    </div>
+                                </div>
+
+                                <div ng-switch-when="EMAIL">
+                                    <input type="email" class="form-control input-sm"
+                                           name="email"
+                                           maxlength="30"
+                                           ng-model="issueCustomField.useValues"
+                                           kr-input
+                                           ng-pattern="/^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/"
+                                           placeholder="�씠硫붿씪 �삎�떇留� �엯�젰 媛��뒫�빀�땲�떎."
+                                           ng-required="issueCustomField.fieldOption == '01' || issueCustomField.customFieldVo.requiredData == 'Y'">
+                                    <small class="help-block form-text text-danger"
+                                           ng-show="issueCustomField.customFieldVo.requiredData == 'Y'"
+                                           ng-if="issueAddForm.ipAddress.$error.required"
+                                           translate="issue.pleaseEnterIssueTypeCustomFields">�빐�떦 �궗�슜�옄 �젙�쓽 �븘�뱶�뒗 �븘�닔 �엯�젰 媛� �엯�땲�떎.
+                                    </small>
+                                    <div ng-show="issueAddForm.email.$error.pattern" class="help-block form-text text-danger"
+                                         translate="common.invalidEmailFormat">�씠硫붿씪 �삎�떇�씠 留욎� �븡�뒿�땲�떎.
+                                    </div>
                                 </div>
 
                                 <div ng-switch-when="SITE">
@@ -301,27 +331,37 @@
                                            maxlength="100"
                                            autocomplete="off"
                                            kr-input
+                                           ng-pattern="/(https?:\/\/)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)/"
+                                           placeholder="�솃�럹�씠吏� 二쇱냼 �삎�떇留� �엯�젰 媛��뒫�빀�땲�떎."
                                            ng-required="issueCustomField.fieldOption == '01' || issueCustomField.customFieldVo.requiredData == 'Y'">
                                     <small class="help-block form-text text-danger"
                                            ng-show="issueCustomField.customFieldVo.requiredData == 'Y'"
                                            ng-if="issueAddForm.site.$error.required"
                                            translate="issue.pleaseEnterIssueTypeCustomFields">�빐�떦 �궗�슜�옄 �젙�쓽 �븘�뱶�뒗 �븘�닔 �엯�젰 媛� �엯�땲�떎.
                                     </small>
+                                    <div ng-show="issueAddForm.site.$error.pattern" class="help-block form-text text-danger"
+                                         translate="common.invalidSiteFormat">�솃�럹�씠吏� 二쇱냼 �삎�떇�씠 留욎� �븡�뒿�땲�떎.(http:// �삉�뒗 www 濡� �떆�옉�븯�뀛�빞�빀�땲�떎)
+                                    </div>
                                 </div>
 
                                 <div ng-switch-when="TEL">
                                     <input type="text" class="form-control input-sm"
                                            name="tel"
                                            ng-model="issueCustomField.useValues"
-                                           maxlength="100"
+                                           maxlength="30"
                                            autocomplete="off"
                                            kr-input
+                                           ng-pattern="/^\d{2,3}-\d{3,4}-\d{4}$/"
+                                           placeholder="�뿰�씫泥� �삎�떇留� �엯�젰 媛��뒫�빀�땲�떎."
                                            ng-required="issueCustomField.fieldOption == '01' || issueCustomField.customFieldVo.requiredData == 'Y'">
                                     <small class="help-block form-text text-danger"
                                            ng-show="issueCustomField.customFieldVo.requiredData == 'Y'"
                                            ng-if="issueAddForm.tel.$error.required"
                                            translate="issue.pleaseEnterIssueTypeCustomFields">�빐�떦 �궗�슜�옄 �젙�쓽 �븘�뱶�뒗 �븘�닔 �엯�젰 媛� �엯�땲�떎.
                                     </small>
+                                    <div ng-show="issueAddForm.tel.$error.pattern" class="help-block form-text text-danger"
+                                         translate="common.invalidTelFormat">�쟾�솕踰덊샇 �삎�떇�씠 留욎� �븡�뒿�땲�떎.
+                                    </div>
                                 </div>
 
                                 <!-- �떒�씪 ���젆�듃 -->
@@ -372,7 +412,8 @@
             <div ng-show="fn.containsPartner('�뾽泥�')" class="row">
                 <div class="col-lg-8 fontcolor_green">
                     <label class="issue-label"><span class="fontcolor_green" translate="companyField.info">�뾽泥댁젙蹂�</span>
-                        &nbsp;&nbsp;<span class="select3-selection__choice" style="position: relative; bottom: 2px;"><code class="highlighter-rouge">*</code>&nbsp;&nbsp;�뾽泥� �씠由� �겢由��떆 �꽑�깮�맂 �씠由꾩쓽 �뾽泥� �젙蹂닿� 議고쉶�맗�땲�떎.</span>
+                        &nbsp;&nbsp;<span class="select3-selection__choice" style="position: relative; bottom: 2px;"><code class="highlighter-rouge">*</code>&nbsp;
+                            &nbsp;�뾽泥� �씠由� �겢由��떆 �꽑�깮�맂 �씠由꾩쓽 �뾽泥� �젙蹂닿� 議고쉶�릺硫�, �뾽泥댁젙蹂댁뿉�꽌 異붽��븳 ISP, �샇�뒪�똿 �젙蹂대�� 遺덈윭�샃�땲�떎.</span>
                     </label>
                 </div>
             </div>
@@ -456,7 +497,11 @@
                                autocomplete="off"
                                ng-maxlength="200"
                                ng-model="vm.companyUrl"
+                               ng-pattern="/(https?:\/\/)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)/"
                                maxlength="200">
+                        <div ng-show="issueAddForm.companyUrl.$error.pattern" class="help-block form-text text-danger"
+                             translate="common.invalidUrlFormat">url �삎�떇�씠 留욎� �븡�뒿�땲�떎.
+                        </div>
                     </div>
                 </div>
                 <div class="col-lg-4">
@@ -478,7 +523,7 @@
             <div ng-show="fn.containsPartner('ISP')" class="row">
                 <div class="col-lg-8 fontcolor_green">
                     <label class="issue-label"><span class="fontcolor_green" translate="ispField.info">ISP �젙蹂�</span>
-                        &nbsp;&nbsp;<span class="select3-selection__choice" style="position: relative; bottom: 2px;"><code class="highlighter-rouge">*</code>&nbsp;&nbsp;ISP �씠由� �겢由��떆 �꽑�깮�맂 �씠由꾩쓽 ISP �젙蹂닿� 議고쉶�맗�땲�떎.</span>
+                        &nbsp;&nbsp;<!--<span class="select3-selection__choice" style="position: relative; bottom: 2px;"><code class="highlighter-rouge">*</code>&nbsp;&nbsp;ISP �씠由� �겢由��떆 �꽑�깮�맂 �씠由꾩쓽 ISP �젙蹂닿� 議고쉶�맗�땲�떎.</span>-->
                     </label>
                 </div>
             </div>
@@ -487,18 +532,15 @@
                 <div class="col-lg-4">
                     <div class="form-group mb10">
                         <label class="issue-label"> <span translate="ispField.name">ISP �씠由�</span> </label>
-                        <!--<input ng-click="show==false"
-                               ng-show="show"
-                               ng-hide="!show"
-                               name="ispName"
+                        <input name="ispName"
                                type="text"
                                class="form-control"
                                kr-input
                                autocomplete="off"
                                ng-model="vm.ispName"
                                ng-maxlength="100"
-                               maxlength="100">-->
-                        <js-autocomplete-single data-input-name="ispField"
+                               maxlength="100">
+                        <!--<js-autocomplete-single data-input-name="ispField"
                                                 selected-model="vm.form.issueIspFields"
                                                 search="vm.ispName"
                                                 source="fn.getIssueIspFieldList(vm.ispName, vm.form.issueIspFields, vm.autoCompletePage.ispField.page, fn.getIssueIspFieldListCallBack)"
@@ -508,7 +550,7 @@
                                                 translation-texts="{ empty : 'common.emptyIsp' }"
                                                 broad-cast="ispFieldEvent"
                                                 extra-settings="{ displayProp : 'name' , idProp : 'id', imageable : false, imagePathProp : '',
-                                                type : '', maxlength : 200, autoResize : false, stopRemoveBodyEvent : true }"></js-autocomplete-single>
+                                                type : '', maxlength : 200, autoResize : false, stopRemoveBodyEvent : true }"></js-autocomplete-single>-->
                     </div>
                 </div>
                 <div class="col-lg-4">
@@ -587,7 +629,11 @@
                                autocomplete="off"
                                ng-maxlength="200"
                                ng-model="vm.ispUrl"
+                               ng-pattern="/(https?:\/\/)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)/"
                                maxlength="200">
+                        <div ng-show="issueAddForm.ispUrl.$error.pattern" class="help-block form-text text-danger"
+                             translate="common.invalidUrlFormat">url �삎�떇�씠 留욎� �븡�뒿�땲�떎.
+                        </div>
                     </div>
                 </div>
                 <div class="col-lg-4">
@@ -609,7 +655,7 @@
             <div ng-show="fn.containsPartner('�샇�뒪�똿')" class="row">
                 <div class="col-lg-8 fontcolor_green">
                     <label class="issue-label"><span class="fontcolor_green" translate="hostingField.info">�샇�뒪�똿 �젙蹂�</span>
-                        &nbsp;&nbsp;<span class="select3-selection__choice" style="position: relative; bottom: 2px;"><code class="highlighter-rouge">*</code>&nbsp;&nbsp;�샇�뒪�똿 �씠由� �겢由��떆 �꽑�깮�맂 �씠由꾩쓽 �샇�뒪�똿 �젙蹂닿� 議고쉶�맗�땲�떎.</span>
+                        &nbsp;&nbsp;<!--<span class="select3-selection__choice" style="position: relative; bottom: 2px;"><code class="highlighter-rouge">*</code>&nbsp;&nbsp;�샇�뒪�똿 �씠由� �겢由��떆 �꽑�깮�맂 �씠由꾩쓽 �샇�뒪�똿 �젙蹂닿� 議고쉶�맗�땲�떎.</span>-->
                     </label>
                 </div>
             </div>
@@ -618,7 +664,15 @@
                 <div class="col-lg-4">
                     <div class="form-group mb10">
                         <label class="issue-label"> <span translate="hostingField.name">�샇�뒪�똿 �씠由�</span> </label>
-                        <js-autocomplete-single data-input-name="hostingField"
+                        <input name="hostingName"
+                               type="text"
+                               class="form-control"
+                               kr-input
+                               autocomplete="off"
+                               ng-model="vm.hostingName"
+                               ng-maxlength="100"
+                               maxlength="100">
+                        <!--<js-autocomplete-single data-input-name="hostingField"
                                                 selected-model="vm.form.issueHostingFields"
                                                 ng-model="vm.hostingName"
                                                 search="vm.hostingName"
@@ -629,7 +683,7 @@
                                                 translation-texts="{ empty : 'common.emptyHosting' }"
                                                 broad-cast="hostingFieldEvent"
                                                 extra-settings="{ displayProp : 'name' , idProp : 'id', imageable : false, imagePathProp : '',
-                                                type : '', maxlength : 200, autoResize : false, stopRemoveBodyEvent : true }"></js-autocomplete-single>
+                                                type : '', maxlength : 200, autoResize : false, stopRemoveBodyEvent : true }"></js-autocomplete-single>-->
                     </div>
                 </div>
                 <div class="col-lg-4">
@@ -708,7 +762,11 @@
                                autocomplete="off"
                                ng-maxlength="200"
                                ng-model="vm.hostingUrl"
+                               ng-pattern="/(https?:\/\/)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)/"
                                maxlength="200">
+                        <div ng-show="issueAddForm.hostingUrl.$error.pattern" class="help-block form-text text-danger"
+                             translate="common.invalidUrlFormat">url �삎�떇�씠 留욎� �븡�뒿�땲�떎.
+                        </div>
                     </div>
                 </div>
                 <div class="col-lg-4">

--
Gitblit v1.8.0