Bonjour à tous.
Dans un formulaire j'ai fais un Validator Custom pour gérer la cohérence d'une date de naissance
Voici le code de la procédure :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| Protected Sub cvDateNaissance_ServerValidate(ByVal source As Object, ByVal args As System.Web.UI.WebControls.ServerValidateEventArgs) Handles cvDateNaissance.ServerValidate
Dim frFR As New CultureInfo("fr-FR")
Dim testdate As DateTime
If DateTime.TryParseExact(args.Value, "dd/mm/yyyy", frFR, DateTimeStyles.None, testdate) Then
If GetAge(args.Value) < 18 Or GetAge(args.Value) > 99 Then
args.IsValid = False
Else
args.IsValid = True
End If
Else
args.IsValid = False
End If
End Sub |
L'idée est de vérifier que c'est bien une date de quelqu'un qui est agé de plus de 18 ans et de moins de 100 ans.
Maintenant le souci : mon système est installé en anglais et mon serveur SQL en Français. Ne me demandez pas pourquoi c'est comme ça et ce n'est plus modifiable (sauf emmerdement ultime façon Murphy, donc ....).
Du coup, si je saisi 27/07/1978 il me jette au niveau du contrôle avec un message du genre :
Conversion from string "27/07/1978" to type 'Date' is not valid.
Mais ce que je comprends pas c'est que je lui ai dit que la culture était en France. Pourquoi il veut pas le prendre en compte ?
Merci pour votre aide.
Partager