--- {"id":"search-filtering","title":"검색·필터·정렬","category":"업무 패턴","order":73,"summary":"결과 범위와 사용자가 적용한 조건을 잃지 않게 합니다.","status":"문서 기준 · UI 미검증","references":["patterns/filtering/index","patterns/search-pattern/index"]} --- # 검색·필터·정렬 ## 공통 계약 - FIND-01 MUST: 검색과 필터가 어느 범위에 적용되는지 표시합니다. - FIND-02 SHOULD: 즉시 적용인지 적용 버튼을 눌러야 하는지 일관되게 합니다. - FIND-03 MUST: 적용된 조건과 해제·전체 초기화 경로를 제공합니다. - FIND-04 MUST: 검색 실패와 0건 결과를 구분하고 이전 요청이 최신 결과를 덮지 않게 합니다. - FIND-05 SHOULD: 뒤로가기·새로고침 때 유지할 검색·정렬·페이지 상태를 URL 또는 명시된 기기 상태로 관리합니다. - FIND-06 MUST: 권한 밖 데이터의 존재를 검색 결과에 노출하지 않습니다. ## 예시 서버 목록에서 이름 검색+실행 중 필터+이름 정렬을 적용했다면, 필터와 결과 수가 보여야 합니다. 조건 변경 시 현재 페이지가 사라지면 유효한 페이지로 이동합니다. “전체 선택”은 검색 전체인지 현재 페이지인지 다시 설명합니다. ## 검증 빈 쿼리, 한글 조합, 특수문자, 조건 조합, 필터 초기화, 느린 응답 순서, 항목 삭제, 브라우저 뒤로가기를 확인합니다. 관련 요소: [검색 입력](search.md), [테이블](data-table.md), [페이지 나누기](pagination.md).