-
Notifications
You must be signed in to change notification settings - Fork 6
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Micronaut 4 Validation - Cannot use dependency injection in custom validator classes #258
Comments
i think this is a bug. it seems validators are only constructed through introspection.instantiate(), even if the docs suggest otherwise. It also seems the MyValidatorFactory from the docs is not tested and I don't see how it can work. wdyt @dstepanov @andriy-dmytruk |
Right now, it's only instantiated using the bean introspection. |
@dstepanov MyValidatorFactory in the docs shows a validator that is meant to be instantiated through bean context |
I see. It's a bit confusing, that would work only if there is no |
could be called a framework improvement or a docs bug then :) |
Plus one vote from me on this one. I spent a happy day or so trying to figure out what was going on! |
Reading this issue, it also explains why it is no longer possible to replace a validator as I discover in #278 |
At least with the current version, removing |
Expected Behavior
Hello, I previously followed this documentation here to create a custom validator class using Micronaut 3. My validator class used
@Inject
to inject a singleton service class to be used in my validator, and this worked without issue.Here is an example:
https://github.com/MattyCi/seasongg-services/blob/e1f0aea71f1920896474278c15f3a22a459aa418/src/main/java/com/sgg/users/UserRegistrationValidator.java
In Micronaut 4, I would expect the same behavior to work.
Actual Behaviour
However, in Micronaut 4, there are different errors thrown depending on how you go about using dependency injection:
@Inject
on a field:Steps To Reproduce
git clone git@github.com:MattyCi/validator-issue.git
./gradlew build
./gradlew run
The main class in question is
com.example.UserRegistrationValidator
Environment Information
OS: Win 10
JDK:
Example Application
https://github.com/MattyCi/validator-issue
Version
4.0.4
The text was updated successfully, but these errors were encountered: