Какова возможная причина, по которой валидация не работает?Проверка данных в MVVM не работает
public class DatabaseObj : ValidatableModel, IFormattable
{
[Required(ErrorMessage="Hostname is required")]
public string Hostname
{
get { return _hostname; }
set { SetProperty(ref _hostname, value); }
}
}
[Serializable]
public abstract class ValidatableModel : Model, INotifyDataErrorInfo
{
}
[Serializable]
public abstract class Model : INotifyPropertyChanged
{
}
В XAML
<TextBox Text="{Binding DatabaseObj.Hostname, UpdateSourceTrigger=PropertyChanged, ValidatesOnExceptions=true, NotifyOnValidationError=true}"
Grid.Column="1" Grid.Row="1" Margin="0,1,91,10" HorizontalAlignment="Stretch"/>
Однако, когда я скомпилировать и запустить, я опорожнить текстовое поле и не появится сообщение об ошибке и цвет по-прежнему остаются такими же.
* Обновление для класса объектов
Посмотрите на [этот вопрос] (http://stackoverflow.com/questions/13136814/how-to-catch-dataannotations-validation-in-mvvm), может быть, он может вам помочь –
Проверьте этот вопрос http: //stackoverflow.com/questions/22361803/data-annotations-idataerrorinfo-and-mvvm –
Вы внедрили IDataErrorInfo? – Muds