Cette anomalie a été découverte en 3.1 et reproduite en version 3.2 et 4.0 (patch level P22b (database patch level P21), built on 2018-12-18 19:23).
Contexte:
L’utilisateur a dupliqué un enregistrement sans faire de modifications et a enregistré. Un message Warning est généré dans le prevalidate. L’enregistrement s’est bien effectué malgré que la clé fonctionnelle existe déjà.
Constatations:
Quand aucun message warning est généré, l’erreur du socle “Clé fonctionnelle existe déjà …” apparaît bien
Quand un message warning est généré, malgré qu’une erreur socle devrait être générée, il passe dans les méthodes…save => dans notre cas, création de doublon
En 4.0, en plus des constatations précédentes, quand il y a un Warning en création,celui -ci est bien affiché en mode Legacy, mais aucun message affiché en mode Responsive.
On va investiguer le cas que vous décrivez mais peut être pourriez vous remonter votre warning plutôt dans le postValidate ?
En effet, sans présumer de votre cas métier ni des résultats de l’investigation ci-dessus, le preValidate sert normalement à préparer/completer/corriger “silencieusement” les données en vue du validate, les règles de gestion avec messages utilisateurs ont généralement plutôt leur place dans le postValidate (car s’il y a un pb de données - par exemple un doublon fonctionnel - ça bloquera au validate qui est là pour ça).