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/customField/customFieldAdd.html | 10 +- src/main/webapp/views/customField/customFieldModify.html | 20 +++--- src/main/webapp/views/issue/issueAdd.html | 58 ++++++++++++++++--- src/main/webapp/i18n/ko/global.json | 15 ++-- src/main/webapp/views/issue/issueModify.html | 49 ++++++++++++++- 5 files changed, 116 insertions(+), 36 deletions(-) diff --git a/src/main/webapp/i18n/ko/global.json b/src/main/webapp/i18n/ko/global.json index 451326e..a76ca97 100644 --- a/src/main/webapp/i18n/ko/global.json +++ b/src/main/webapp/i18n/ko/global.json @@ -858,13 +858,14 @@ "emailField": "�씠硫붿씪 �꽑�깮 �븘�뱶", "siteField": "URL �꽑�깮 �븘�뱶", "telField": "�쟾�솕踰덊샇 �꽑�깮 �븘�뱶", - "invalidipAdressFormat": "IP 二쇱냼 �삎�떇�씠 留욎� �븡�뒿�땲�떎.", - "invalidNumberFormat": "�닽�옄留� �엯�젰 媛��뒫�빀�땲�떎.", - "invalidDateFormat": "�궇吏� �삎�떇�씠 留욎� �븡�뒿�땲�떎.(xxxx-xx-xx)", - "invalidEmailFormat": "�씠硫붿씪 �삎�떇�씠 留욎� �븡�뒿�땲�떎.", - "invalidSiteFormat": "�솃�럹�씠吏� 二쇱냼 �삎�떇�씠 留욎� �븡�뒿�땲�떎.(http://濡� �떆�옉�븯�뀛�빞�빀�땲�떎)", - "invalidTelFormat": "�쟾�솕踰덊샇 �삎�떇�씠 留욎� �븡�뒿�땲�떎(xxx-xxxx-xxxx).", - "invalidUrlFormat": "url �삎�떇�씠 留욎� �븡�뒿�땲�떎." + "invalidipAdressFormat": "* IP 二쇱냼 �삎�떇�씠 留욎� �븡�뒿�땲�떎.", + "invalidNumberFormat": "* �닽�옄留� �엯�젰 媛��뒫�빀�땲�떎.", + "invalidDateFormat": "* �궇吏� �삎�떇�씠 留욎� �븡�뒿�땲�떎.(xxxx-xx-xx)", + "invalidEmailFormat": "* �씠硫붿씪 �삎�떇�씠 留욎� �븡�뒿�땲�떎.", + "invalidSiteFormat": "* �솃�럹�씠吏� 二쇱냼 �삎�떇�씠 留욎� �븡�뒿�땲�떎.(http:// �삉�뒗 www 濡� �떆�옉�븯�뀛�빞�빀�땲�떎)", + "invalidTelFormat": "* �쟾�솕踰덊샇 �삎�떇�씠 留욎� �븡�뒿�땲�떎(xxx-xxxx-xxxx).", + "invalidUrlFormat": "* url �삎�떇�씠 留욎� �븡�뒿�땲�떎.", + "notIssueType": "�씠�뒋 �쑀�삎�씠 �뾾�뒿�땲�떎." }, "tasks": { "agileBoardTitle": "移몃컲 蹂대뱶" diff --git a/src/main/webapp/views/customField/customFieldAdd.html b/src/main/webapp/views/customField/customFieldAdd.html index ea027dd..fc234df 100644 --- a/src/main/webapp/views/customField/customFieldAdd.html +++ b/src/main/webapp/views/customField/customFieldAdd.html @@ -125,7 +125,7 @@ </div> <input ng-if="vm.form.customFieldType == 'IP_ADDRESS'" - name="ipAdress" + name="ipAddress" type="text" class="form-control" kr-input @@ -133,7 +133,7 @@ placeholder="IP 二쇱냼 �삎�떇留� �엯�젰 媛��뒫�빀�땲�떎." autocomplete="off" ng-model="vm.form.defaultValue"> - <div ng-show="customFieldAddForm.ipAdress.$error.pattern" class="help-block form-text text-danger" + <div ng-show="customFieldAddForm.ipAddress.$error.pattern" class="help-block form-text text-danger" translate="common.invalidipAdressFormat">IP二쇱냼 �삎�떇�씠 留욎� �븡�뒿�땲�떎. </div> @@ -155,9 +155,9 @@ name="site" type="text" class="form-control" - maxlength="30" + maxlength="100" kr-input - ng-pattern="/((http|https):\/\/)?(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/" + ng-pattern="/(https?:\/\/)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)/" placeholder="�솃�럹�씠吏� 二쇱냼 �삎�떇留� �엯�젰 媛��뒫�빀�땲�떎." autocomplete="off" ng-model="vm.form.defaultValue"> @@ -165,10 +165,10 @@ translate="common.invalidSiteFormat">�솃�럹�씠吏� 二쇱냼 �삎�떇�씠 留욎� �븡�뒿�땲�떎.(http://濡� �떆�옉�븯�뀛�빞�빀�땲�떎) </div> - <input ng-if="vm.form.customFieldType == 'TEL'" name="tel" type="text" + maxlength="30" class="form-control" kr-input ng-pattern="/^\d{2,3}-\d{3,4}-\d{4}$/" diff --git a/src/main/webapp/views/customField/customFieldModify.html b/src/main/webapp/views/customField/customFieldModify.html index 8beb7b1..e2b3acd 100644 --- a/src/main/webapp/views/customField/customFieldModify.html +++ b/src/main/webapp/views/customField/customFieldModify.html @@ -107,17 +107,17 @@ placeholder="�닽�옄留� �엯�젰 媛��뒫�빀�땲�떎." autocomplete="off" ng-model="vm.form.defaultValue"> - <div ng-show="customFieldAddForm.ipAdress.$error.pattern" class="help-block form-text text-danger" + <div ng-show="customFieldModifyForm.numberType.$error.pattern" class="help-block form-text text-danger" translate="common.invalidNumberFormat">�닽�옄留� �엯�젰 媛��뒫�빀�땲�떎. </div> <input ng-if="vm.form.customFieldType == 'DATETIME'" name="dateTime" class="form-control input-readonly" + placeholder="{{'issue.clickToSelectDate' | translate}}" ng-model="vm.form.defaultValue" modal-form-auto-scroll range-type="singleDate" - onfocus="this.blur()" date-range-picker> <div class="row"> <div class="col-xs-12"> @@ -126,7 +126,7 @@ </div> <input ng-if="vm.form.customFieldType == 'IP_ADDRESS'" - name="ipAdress" + name="ipAddress" type="text" class="form-control" kr-input @@ -134,7 +134,7 @@ placeholder="IP 二쇱냼 �삎�떇留� �엯�젰 媛��뒫�빀�땲�떎." autocomplete="off" ng-model="vm.form.defaultValue"> - <div ng-show="customFieldAddForm.ipAdress.$error.pattern" class="help-block form-text text-danger" + <div ng-show="customFieldModifyForm.ipAddress.$error.pattern" class="help-block form-text text-danger" translate="common.invalidipAdressFormat">IP二쇱냼 �삎�떇�씠 留욎� �븡�뒿�땲�떎. </div> @@ -148,7 +148,7 @@ placeholder="�씠硫붿씪 �삎�떇留� �엯�젰 媛��뒫�빀�땲�떎." autocomplete="off" ng-model="vm.form.defaultValue"> - <div ng-show="customFieldAddForm.email.$error.pattern" class="help-block form-text text-danger" + <div ng-show="customFieldModifyForm.email.$error.pattern" class="help-block form-text text-danger" translate="common.invalidEmailFormat">�씠硫붿씪 �삎�떇�씠 留욎� �븡�뒿�땲�떎. </div> @@ -156,27 +156,27 @@ name="site" type="text" class="form-control" - maxlength="30" + maxlength="100" kr-input - ng-pattern="/(http(s)?:\/\/)([a-z0-9\w]+\.*)+[a-z0-9]{2,4}/gi" + ng-pattern="/(https?:\/\/)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)/" placeholder="�솃�럹�씠吏� 二쇱냼 �삎�떇留� �엯�젰 媛��뒫�빀�땲�떎." autocomplete="off" ng-model="vm.form.defaultValue"> - <div ng-show="customFieldAddForm.site.$error.pattern" class="help-block form-text text-danger" + <div ng-show="customFieldModifyForm.site.$error.pattern" class="help-block form-text text-danger" translate="common.invalidSiteFormat">�솃�럹�씠吏� 二쇱냼 �삎�떇�씠 留욎� �븡�뒿�땲�떎.(http://濡� �떆�옉�븯�뀛�빞�빀�땲�떎) </div> - <input ng-if="vm.form.customFieldType == 'TEL'" name="tel" type="text" + maxlength="30" class="form-control" kr-input ng-pattern="/^\d{2,3}-\d{3,4}-\d{4}$/" placeholder="�뿰�씫泥� �삎�떇留� �엯�젰 媛��뒫�빀�땲�떎." autocomplete="off" ng-model="vm.form.defaultValue"> - <div ng-show="customFieldAddForm.tel.$error.pattern" class="help-block form-text text-danger" + <div ng-show="customFieldModifyForm.tel.$error.pattern" class="help-block form-text text-danger" translate="common.invalidTelFormat">�쟾�솕踰덊샇 �삎�떇�씠 留욎� �븡�뒿�땲�떎. </div> diff --git a/src/main/webapp/views/issue/issueAdd.html b/src/main/webapp/views/issue/issueAdd.html index f1b88c8..836d34b 100644 --- a/src/main/webapp/views/issue/issueAdd.html +++ b/src/main/webapp/views/issue/issueAdd.html @@ -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> <!-- �떒�씪 ���젆�듃 --> diff --git a/src/main/webapp/views/issue/issueModify.html b/src/main/webapp/views/issue/issueModify.html index a41fb5f..a9429c3 100644 --- a/src/main/webapp/views/issue/issueModify.html +++ b/src/main/webapp/views/issue/issueModify.html @@ -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,24 +244,29 @@ 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="issueModifyForm.input.$error.required" + ng-if="issueModifyForm.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="issueModifyForm.number.$error.required" + ng-if="issueModifyForm.numberType.$error.required" translate="issue.pleaseEnterIssueTypeCustomFields">�빐�떦 �궗�슜�옄 �젙�쓽 �븘�뱶�뒗 �븘�닔 �엯�젰 媛� �엯�땲�떎. </small> + <div ng-show="issueModifyForm.numberType.$error.pattern" class="help-block form-text text-danger" + translate="common.invalidNumberFormat">�닽�옄留� �엯�젰 媛��뒫�빀�땲�떎. + </div> </div> <div ng-switch-when="DATETIME"> @@ -286,12 +291,36 @@ 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="issueModifyForm.ipAddress.$error.required" translate="issue.pleaseEnterIssueTypeCustomFields">�빐�떦 �궗�슜�옄 �젙�쓽 �븘�뱶�뒗 �븘�닔 �엯�젰 媛� �엯�땲�떎. </small> + <div ng-show="issueModifyForm.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="issueModifyForm.ipAddress.$error.required" + translate="issue.pleaseEnterIssueTypeCustomFields">�빐�떦 �궗�슜�옄 �젙�쓽 �븘�뱶�뒗 �븘�닔 �엯�젰 媛� �엯�땲�떎. + </small> + <div ng-show="issueModifyForm.email.$error.pattern" class="help-block form-text text-danger" + translate="common.invalidEmailFormat">�씠硫붿씪 �삎�떇�씠 留욎� �븡�뒿�땲�떎. + </div> </div> <div ng-switch-when="SITE"> @@ -301,27 +330,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="issueModifyForm.site.$error.required" translate="issue.pleaseEnterIssueTypeCustomFields">�빐�떦 �궗�슜�옄 �젙�쓽 �븘�뱶�뒗 �븘�닔 �엯�젰 媛� �엯�땲�떎. </small> + <div ng-show="issueModifyForm.site.$error.pattern" class="help-block form-text text-danger" + translate="common.invalidSiteFormat">�솃�럹�씠吏� 二쇱냼 �삎�떇�씠 留욎� �븡�뒿�땲�떎.(http://濡� �떆�옉�븯�뀛�빞�빀�땲�떎) + </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="issueModifyForm.tel.$error.required" translate="issue.pleaseEnterIssueTypeCustomFields">�빐�떦 �궗�슜�옄 �젙�쓽 �븘�뱶�뒗 �븘�닔 �엯�젰 媛� �엯�땲�떎. </small> + <div ng-show="issueModifyForm.tel.$error.pattern" class="help-block form-text text-danger" + translate="common.invalidTelFormat">�쟾�솕踰덊샇 �삎�떇�씠 留욎� �븡�뒿�땲�떎. + </div> </div> <!-- �떒�씪 ���젆�듃 --> -- Gitblit v1.8.0