하석형 하석형 04-08
250408 하석형 콘텐츠 유형 관리 관리자/사용자 PATH 유효성 검사 추가
@7b2c42fcb767456770fae47815e9b1de6461b334
client/views/pages/adm/authority/authority/AuthoritySelectList.vue
--- client/views/pages/adm/authority/authority/AuthoritySelectList.vue
+++ client/views/pages/adm/authority/authority/AuthoritySelectList.vue
@@ -43,7 +43,11 @@
   </div>
   <div class="btn-wrap list">
       <div></div>
-      <PaginationButton :className="'admin-pagination'" />
+      <PaginationButton :className="'pagination'"
+              v-model:currentPage="search.currentPage"
+              :pagination="search"
+              :click="findAll"
+            />
       <button
         class="btn sm main"
         @click="fnAdd"
client/views/pages/adm/menuManagement/menuSatisfactionManagement/MenuSatisfactionSelectList.vue
--- client/views/pages/adm/menuManagement/menuSatisfactionManagement/MenuSatisfactionSelectList.vue
+++ client/views/pages/adm/menuManagement/menuSatisfactionManagement/MenuSatisfactionSelectList.vue
@@ -26,7 +26,12 @@
   </div>
   <div class="btn-wrap">
       <div></div>
-        <PaginationButton :className="'pagination'" />
+      <PaginationButton
+              :className="'pagination'"
+              v-model:currentPage="search.currentPage"
+              :pagination="search"
+              :click="findAll"
+            />
       <div></div>
     </div>
   <Modal :showModal="satisfaction" :className="'large-modal'">
@@ -51,6 +56,7 @@
 import ListTable from "../../../../component/table/ListTable.vue";
 import PaginationButton from "../../../../component/pagination/PaginationButton.vue";
 import Modal from "../../../../component/modal/Modal.vue";
+import { defaultSearchParams } from "../../../../../resources/js/defaultSearchParams";
 
 export default {
   components: {
@@ -62,6 +68,7 @@
     return {
       // 페이지 권한 객체
       pageAuth: JSON.parse(localStorage.getItem("vuex")).pageAuth,
+      search: { ...defaultSearchParams },
 
       satisfaction: false,
       colgroup: ["30%", "10%", "10%", "10%", "10%", "10%", "10%", "10%"],
client/views/pages/adm/preferences/contentTypeManagement/ContentTypeManagementInsert.vue
--- client/views/pages/adm/preferences/contentTypeManagement/ContentTypeManagementInsert.vue
+++ client/views/pages/adm/preferences/contentTypeManagement/ContentTypeManagementInsert.vue
@@ -194,6 +194,22 @@
         return false;
       }
 
+      const pageCrsRegex = /^\/(?:[a-zA-Z0-9_\-]+\/)*[a-zA-Z0-9_\-]+\.[a-zA-Z0-9]+$/;
+      if (!mngrPageCrs) {
+        if (!pageCrsRegex.test(this.contsTypeVO.mngrPageCrs)) {
+          alert("관리자 PATH는 /로 시작하고, 마지막에 확장자가 포함되어야 합니다.");
+          this.$refs.mngrPageCrs.focus();
+          return false;
+        }
+      }
+      if (!pageCrs) {
+        if (!pageCrsRegex.test(this.contsTypeVO.pageCrs)) {
+          alert("사용자 PATH는 /로 시작하고, 마지막에 확장자가 포함되어야 합니다.");
+          this.$refs.pageCrs.focus();
+          return false;
+        }
+      }
+
       // COMPONENT_URL
       if (this.isEmpty(this.contsTypeVO.compnCrs)) {
         alert("COMPONENT_URL을 입력해주세요.");
Add a comment
List