Validation 如何使用mvvmcross进行验证

Validation 如何使用mvvmcross进行验证,validation,xamarin,mvvmcross,Validation,Xamarin,Mvvmcross,我刚刚开始学习使用Xamarin和MvvmCross编写移动应用程序。由于YouTube上的N+1天MvvmCross视频(非常感谢Stuart Lodge)等强大支持,我发现学习基本知识非常容易 然而,我正在与估值数据作斗争。我希望Stackoverflow上的人能给我指点一些有用的博客或使用MvvmCross执行验证的教程。我希望能够验证输入的数据,然后更新指示问题的视图 我需要一些来自第一原则的东西,因为我不知道我不知道的东西(如果这有意义的话)。我需要遵循一些最佳实践。数据验证可以以不同

我刚刚开始学习使用Xamarin和MvvmCross编写移动应用程序。由于YouTube上的N+1天MvvmCross视频(非常感谢Stuart Lodge)等强大支持,我发现学习基本知识非常容易

然而,我正在与估值数据作斗争。我希望Stackoverflow上的人能给我指点一些有用的博客或使用MvvmCross执行验证的教程。我希望能够验证输入的数据,然后更新指示问题的视图


我需要一些来自第一原则的东西,因为我不知道我不知道的东西(如果这有意义的话)。我需要遵循一些最佳实践。

数据验证可以以不同的方式显示在UI中。 例如,可以显示消息框或显示标签

假设您希望在UI中的某个位置有一个带有红色文本的标签来显示错误

我假设您的UI中有“保存”按钮或类似按钮

可以将按钮绑定到视图模型中的
SaveCommand

在执行
SaveCommand
时,可以检查所有数据是否有效,并设置
Error
string属性

您可以将标签的文本绑定到
Error
属性。此外,还可以将标签的可见性绑定到条件(Error!=null)


谢谢Andrei,但我正在寻找一个框架来完成它,而不是自己滚动。在我最初的问题中,我应该说得更清楚些。MvvmCross中是否内置了任何内容。我看了验证插件,但没有你如何使用它的例子。我用谷歌搜索了它(我笑了!),只是没有我理解的如何使用它的例子。包括一个演示
public class SettingsViewModel : MvxViewModel
{
     string firstName;
     public string FirstName
     {
           get { return this.firstName; }
           set 
           { 
              if(this.firstName != value) 
              { 
                   this.firstName = value;
                   this.RaisePropertyChanged(()=> this.FirstName);
                   this.Error = null; // reset error
              }
          }
     }

     public string Error { get; private set; }

     public ICommand SaveCommand { get { return new MvxCommand(this.Save); } }

     void Save()
     {
         // reset error
         this.Error = null; 

         if(string.IsNullOrEmpty(this.FirstName))
         {
             this.Error = "First name is empty";
         }

         if(string.IsNullOrEmtpy(this.Error))
         {
              // no error, save settings...
         } 
         else
         {
            this.RaisePropertyChanged(()=> this.Error);
         }
     }
}