在使用时执行数据验证时,什么被认为是“最佳实践” ReactiveUI
?假设我有一个看起来像这样的视图模型:
public class MyViewModel: ReactiveObject
{
public ReactiveAsyncCommand SaveMyDataCommand { get; protected set; }
private string _email;
public string Email
{
get { return _email; }
set
{
_email = value;
raisePropertyChanged("Email");
}
}
private string _name;
public string Name
{
get { return _name; }
set
{
_name= value;
raisePropertyChanged("Name");
}
}
private bool _sendEmail = false;
public bool SendEmail
{
get { return _sendEmail; }
set
{
_sendEmail = value;
raisePropertyChanged("SendEmail");
}
}
public MyViewModel()
{
SaveMyDataCommand = new ReactiveAsyncCommand(null, 1);
}
}
这是我要验证的内容:
- 如果
SendEmail == true
然后确保电子邮件属性中有一个有效的电子邮件地址。(我并不担心实际的电子邮件地址验证本身。这只是一个假设场景。) - 如果为
Email
属性设置了值,请确保它是有效的电子邮件地址。 - 如果 1. 或 2. 验证失败,
SaveMyDataCommand
则不应执行。
我只是在寻找一个关于如何使用 ReactiveUI 进行简单/稍微复杂的数据验证的好例子。任何人都可以对此有所了解吗?