我正在开发我的第一个 MVVM 应用程序,并且注意到我的许多 ViewModels 都包含数据检查,例如
if( UserSalary == "this"){ MessageBox.Show("UserSalary is in incorrect format") }
else{ perform.thisAction(UserSalary); }
我认为这被认为是不好的做法,因为这意味着我的视图模型知道该视图。 我想知道在哪里检查用户输入数据的完整性,在视图或视图模型中,如果数据的格式不正确,谁负责让用户知道视图或视图模型?
您可以在视图和视图模型中验证数据完整性,我发现更轻量级的数据验证通常在视图中完成(验证,如验证输入字符串格式(,而较重的验证在视图模型中完成(验证,例如确保用户可以执行给定的操作,用户名和密码正确, 等(。这里的答案是主观的。