RwTextBox
RwTextBox는 문자열, 숫자, 날짜, 체크, 라디오와 Composer 입력을 하나의 바인딩 방식으로 제공하는 공통 입력 구성요소입니다.
입력 필드 구성
ItemSource와 Path를 사용해 객체 속성에 값을 연결하거나 Value와 ValueChanged로 직접 바인딩합니다. Type에 따라 입력 UI와 값 변환이 달라지며 View, InlineEditor와 Composer 모드를 지원합니다.
입력 유형 선택
표준 텍스트 입력뿐 아니라 동일한 검증·스타일 계약이 필요한 숫자, 날짜와 인라인 편집에 사용합니다. 아주 단순한 읽기 전용 출력에는 일반 텍스트가 더 적합합니다.
값과 표시 설정
| 파라미터 | 용도 |
|---|---|
| Type | TextBox, 숫자, 날짜, 체크 등 입력 종류입니다. |
| ItemSource / Path | 편집할 객체와 속성 경로입니다. |
| Value / ValueChanged | 직접 값 바인딩에 사용합니다. |
| FormatString | 숫자와 표시값의 형식을 지정합니다. |
| MaxLength / DecimalLength | 문자 길이와 소수 자릿수를 제한합니다. |
| Mode | 일반, 보기, 인라인 편집 동작을 정합니다. |
| UpdateOnInput | 입력할 때마다 값을 갱신합니다. |
| ComposerOptions | 서식·멘션·첨부 기능을 구성합니다. |
모델 바인딩
- 입력 종류에 맞는 Type을 선택합니다.
- ItemSource와 Path 또는 Value 바인딩 중 하나를 사용합니다.
- Placeholder와 Label을 실제 입력 목적에 맞게 지정합니다.
- 길이, 소수 자릿수와 날짜 범위를 설정합니다.
- ValueChanged 또는 Composer 이벤트에서 상위 상태를 갱신합니다.
검증과 변경 이벤트
ValueChanged는 변환이 끝난 값을 전달합니다. UpdateOnInput을 사용하면 키 입력마다 호출될 수 있으므로 DB 조회 같은 무거운 작업을 직접 연결하지 않습니다. Composer는 HTML, 첨부 준비와 제출 이벤트가 별도로 제공됩니다.
레이블과 오류 안내
Label 또는 연결된 aria-label을 제공하고 Placeholder만으로 필드 이름을 대신하지 않습니다. 오류는 입력 옆에 텍스트로 표시하고 색상만 사용하지 않습니다.
민감정보와 긴 입력
ItemSource의 Path가 실제 쓰기 가능한 속성과 일치해야 합니다. InlineDisplayAsHtml은 신뢰 가능한 정제된 HTML에만 사용합니다. 숫자 Type은 FormatString과 DecimalLength가 데이터 형식과 맞는지 확인합니다.
입력 화면 점검
- 초기값과 변경값이 대상 속성에 반영되는지 확인합니다.
- 읽기 전용과 인라인 편집 전환을 확인합니다.
- 한글 입력과 붙여넣기에서도 길이 제한이 동작하는지 확인합니다.
