이 질문에 대한 답변을 드릴 수는 없지만 저의 질문에 대해서는 만족스럽지 않으므로 양해 바랍니다. 현재 구조를 개선하기 위해 기존 응용 프로그램 중 하나를 MVVM 패턴으로 변환 중입니다. 데이터 유효성 검사를 수행하는 가장 좋은 방법은 무엇일까?MVVM에서 유효성 검사와 관련하여 조언이 필요합니다.
현재 응용 프로그램은 데이터 바인딩을 사용하여 UI와 코드를 연결하고 유사한 값 (날짜 등 각각 하나씩)에서 재사용 할 수있는 몇 가지 유효성 검사 규칙과 값 변환기를 사용합니다.
MVVM에서 읽는 동안 IDataErrorInfo를 보았습니다. IDataErrorInfo는 뷰에서 유효성 검사를 유지하므로 바인딩을 설정할 때 반복적으로 코드가 줄어들고 더 구체적인 오류 메시지가 허용되므로 매력적입니다.
ValidationRules 반면 유효성 검사가 실패하면 바인딩 데이터의 전송을 차단합니다. 모델 값을 변경하려는 새 값이 필요하기 때문에 필요합니다. 유효한 값이 제공됩니다.
내 주요 관심사는 뷰 모델에서 너무 많은 것을 제한하면보기가 어려워 질 수 있다는 것입니다. 일반적인 경우에는 일을 편안한 수준으로 제한 한 다음 특정 사례를 해결하는 것이 좋습니다. 보기에 유연성이 더 필요하십니까?
내 주요 질문은 viewmodel의 속성에 유효성 검사와 변환을 넣는 것이 더 좋을까요, 아니면 내 validationrules와 valueconverters (또는 그 사이의 타협점)를 붙이는 것이 좋을까요?
덕분에, 제임스는
고마워, 나는 마음에 비슷한 것을 가지고 있었지만, 그것이 올바른 방향인지 아닌지 확실하지 않았다. 뷰 모델이 모든 것을 처리하도록하는 것이 올바른 방법이라고 생각합니다. – Moonshield