原始碼查核:2026-10-12|三代現況:原始碼確認
適用範圍:新增後的「採購資料」名稱欄位,並對照修改/更正的同欄位顯示條件。本篇依本機原始碼整理,尚未核對正式環境資料及部署設定。
搜尋關鍵字:標案名稱,案名,名稱規則,必填,40個中文字,180位元組,名稱太長,中文難字,敏感字詞,名稱不能修改,暫存,採購資料
何時填名稱
標案名稱在新增後的「採購資料」填寫,不是新增入口第一步的必填欄位。採購資料檢核時,名稱不能空白;錯誤訊息為「請輸入標案名稱」。本次追查未見名稱唯一性檢核,因此不把不同標案同名寫成禁止規則。
長度與難字:畫面提示與後端檢核
項目 | 三代現況 |
|---|---|
畫面說明 | 限填40個中文字。 |
後端長度判斷 | 使用字串轉位元組後是否超過180判斷,未在該呼叫明訂編碼;錯誤文字仍寫限填40個中文字。 |
中文難字 | 使用程式的難字計數方法,最多2個;超過時顯示「限填2個中文難字」。 |
不能把「40字」和「180位元組」當成等價規則。不能直接從畫面提示推算中英混合或難字的可填長度,還需考慮執行環境編碼。
暫存不等於通過檢核
前端名稱長度檢查失敗時,「暫存」仍有允許送出的分支;後端發現名稱超過180位元組時,會將暫存名稱設為空值。因此可能出現暫存後名稱被清空;不能寫成「名稱過長一定無法暫存」。完整資料是否可傳輸,仍須通過後續檢核。
名稱何時不能改
情境 | 共用採購資料欄位 |
|---|---|
更正公告 | 名稱以唯讀文字顯示。 |
修改,且招標更正序號不為01 | 名稱以唯讀文字顯示。 |
其他符合輸入分支的情境 | 顯示名稱輸入框。 |
畫面另有「標案新增成功後標案名稱不得修改」提示,但實作按上述模式與序號判斷。
名稱敏感字詞
新案及程式指定的尚未公告分支,名稱若包含「關鍵基礎設施」或「國家核心關鍵技術」,會回報「含關鍵基礎設施、國家核心關鍵技術敏感資訊,無法上傳成功」。檢查採字串包含比對;正式資料已公告的狀態另有略過分支,不能概括成所有歷史案件都會重新檢查。
常見查詢
為什麼名稱還不到畫面寫的字數就有問題?應核對位元組長度、難字及實際編碼,不能只看畫面字數。
為什麼暫存後名稱消失?先核對是否命中後端名稱過長清空分支。
精簡程式追溯
行號對應本次查核快照,後續以檔案與方法重新定位。
tps/tps-C/src/main/resources/META-INF/resources/jsp/view/C/tpam/commonComponents/buyInfo/tenderBasic.jsp,13–54;提示、輸入/唯讀條件。tps/tps-common/src/main/java/geps3/pms/tps/common/service/TenderManagementService.java,4925–4966;必填、長度、難字與敏感詞。tps/tps-C/src/main/java/geps3/pms/tps/tpam/web/TenderManagementController.java,5392–5398、14624–14649;過長清空及長度檢查。tps/tps-C/src/main/resources/META-INF/resources/jsp/view/C/tpam/commonComponents/buyInfo/common_buy_info_script.jsp,3024–3029、3095–3113;名稱檢查與暫存。tps/tps-common/src/main/java/geps3/pms/tps/common/code/SensitiveKeywordEnum.java,4–5、23–30;字詞及包含比對。