Bonjour à tous.
J'ai une vue contenant deux champs :
Un mot de passe et une vérification de mot de passe.
Lorsque le mot de passe reste vide, celui-ci demeure inchangé pour un utilisateur même si on lui change des attributs (nom, prénom, adresse, etc.)
C'est du classique de classique.
Ce que je voudrais c'est que l'erreur qui s'affiche soit toujours sur le champ vérification.
Actuellement j'ai un truc dans ce goût là :
J'ai des styles qui mettent l'élément en rouge et une astuce (PasswordHelper) sinon je ne peux pas binder le mot de passe car c'est un champ PasswordBox.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 <!-- Mot de passe --> <Label Grid.Column="1" Grid.Row="3" Content="Mot de passe :" VerticalAlignment="Center"/> <PasswordBox Grid.Column="2" Grid.Row="3" VerticalAlignment="Center" IsEnabled="True" x:Name="guiPassword" DataContext="{Binding RibbonTabUser, Source={StaticResource Locator}}" local:PasswordHelper.Password="{Binding Path=EditedPassword, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged, ValidatesOnDataErrors=True, BindingGroupName=PasswordValidationBindingGroup}" Validation.ErrorTemplate="{StaticResource TextBoxErrorTemplate}"> </PasswordBox> <!-- Vérification du mot de passe --> <Label Grid.Column="1" Grid.Row="4" Content="Vérification :" VerticalAlignment="Center"/> <PasswordBox Grid.Column="2" Grid.Row="4" VerticalAlignment="Center" IsEnabled="True" x:Name="guiPasswordVerification" DataContext="{Binding RibbonTabUser, Source={StaticResource Locator}}" local:PasswordHelper.Password="{Binding Path=EditedPasswordVerification, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged, ValidatesOnDataErrors=True, BindingGroupName=PasswordValidationBindingGroup}" Validation.ErrorTemplate="{StaticResource TextBoxErrorTemplate}"> </PasswordBox>
Actuellement :
- Je tape mon mot de passe (toto). Le champ devient rouge car la vérification est encore vide.
- Je tape le mot de passe (toto) dans le champ Vérification : le champ vérification passe rouge à la première lettre tappée puis repasse OK lorsque je fini de taper toto
- Il faut revenir sur le mot de passe puis retaper quelque chose et l'effacer pour que les deux champs soient OK
Si je ne fais la vérification QUE sur le champ vérification, c'est encore pire, on tape un mot de passe sans vérification et on peut valider (l'activation du bouton save est automatique en fonction du statut du panneau et donc des erreurs de saisie de l'utilisateur, au fils de l'eau) !
J'ai tenté d'utiliser un BindingGroupName mais ça ne fait pas ce que je veux non plus.
C'est un cas hyper classique, certains ont une idée, une piste sur comment gérer ça ?
Merci d'avance.
Partager