De mon côté, pour essayer de donner une certaine cohérence à l’expérience de l’utilisateur, pour les champs pour lesquels j’ai besoin de contrôles customs, je les définis directement sur chacun des contrôles ErrorMessage :
ErrorMessage12.Text = If(DataCardValue12.SelectedDate < Today(); "La date de début doit être postérieure ou égale à la date du jour."; Parent.Error)
Et je modifie la couleur de la bordure du champ ainsi :