Я пытаюсь использовать DataAnnotations в Silverlight 4 для проверки введенных пользователем данных.
В этом примере все идет так, как ожидается:
<TextBox x:Name="txtName" Margin="15,0,0,0" MinWidth="200" Height="Auto" Text="{Binding Name, Mode=TwoWay, ValidatesOnExceptions=True, NotifyOnValidationError=True}"/>
С этим кодом ViewModel:
#region Name
private string name;
[Display(Name="Pet Name", Description="Here goes the pet's name")]
[StringLength(50, ErrorMessage="Name must be 3 - 50 characters", MinimumLength=3)]
public string Name
{
get
{
return name;
}
set
{
Validator.ValidateProperty(value, new ValidationContext(this, null, null) { MemberName = "Name" });
this.name= value;
this.RaisePropertyChanged("Name");
this.AceptarCommand.OnCanExecuteChanged();
}
}
#endregion
Проблема возникает, когда я пытаюсь добавить «Обязательный» DataAnnotation:
Имя региона
private string name;
[Display(Name="Pet Name", Description="Here goes the pet's name")]
[Required(ErrorMessage="You must write a name")]
[StringLength(50, ErrorMessage="Name must be 3 - 50 characters", MinimumLength=3)]
public string Name
{
get
{
return name;
}
set
{
Validator.ValidateProperty(value, new ValidationContext(this, null, null) { MemberName = "Name" });
this.name= value;
this.RaisePropertyChanged("Name");
this.AceptarCommand.OnCanExecuteChanged();
}
}
#endregion
Когда выполняется ValidateProperty, при загрузке страницы возникает необработанное исключениев первый раз (не имеет значения по умолчанию).
Что я делаю не так ?? *
Заранее спасибо