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 :
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.
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 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
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 :
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 ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part Conversion from string "27/07/1978" to type 'Date' is not valid.
Merci pour votre aide.
Partager