Dans BeanValidation
, je vais résumer la méthode de vérification de corrélation dans la plage où vous ne créez pas votre propre annotation (et elle est complétée dans l'objet à valider).
Consultez la documentation officielle pour les détails techniques.
En règle générale, lorsque vous effectuez un processus tel que "faire correspondre les données transmises par l'avant et les données acquises à partir de la base de données, les valider et les enregistrer dans la base de données si elle est valide", je pense qu'il est préférable de les séparer comme suit. Je vais.
Dans cet article, j'écrirai environ 2 en particulier, mais comme ce processus est étroitement lié à la structure de données du résultat de la validation (en particulier dans BeanValidation
, le nom du champ et le nom de la méthode affectent les données renvoyées au premier plan), écrivez-les ensemble. Si cela se produit, les changements en 2 et le front se propageront à 1, et les changements en 1 et 3 se propageront vers l'avant.
Parce que j'ai écrit 1 à 3 ensemble, je me sens très douloureux parce que "je ne peux pas rester ici quand j'essaye de changer ça ...".
Je vais présenter les trois suivants en gros.
--Utilisez ʻAssertTrue ou ʻAssertFalse
pour la fonction
--Annoter le getter
--Application
--Préparer un champ pour stocker le résultat du contrôle de corrélation
ou ʻAssertFalse
dans la fonctionIl s'agit d'une méthode souvent introduite comme contrôle de corrélation.
Si le nom de la méthode est ʻisValid, le nom de propriété de l'erreur sera
valide`.
@AssertTrue
private boolean isValid() {
/*Contrôle de corrélation*/
}
Dans BeanValidation
, la validation peut être effectuée en annotant un champ, mais la validation peut également être effectuée en annotant une méthode (= getter) nommée get ~
.
En d'autres termes, vous pouvez vérifier la corrélation même dans le getter.
@AssertTrue
@NotNull
private Boolean getValid() {
/*Contrôle de corrélation*/
}
Lors d'une vérification de corrélation à l'aide d'un getter, la valeur de retour peut être n'importe quoi.
En d'autres termes, vous pouvez dire "Erreur 1 si la valeur de retour est" null ", Erreur 2, si elle est 1 ou plus, ...".
Dans l'exemple que j'ai écrit précédemment, la validation se fait comme " NotNull
pour null
, ʻAssertTrue pour not
true`".
Cela permet de séparer les messages d'erreur pour chaque erreur sans modifier les propriétés.
Jusqu'à présent, nous avons introduit le contrôle de corrélation en attribuant une annotation à la fonction, mais si vous stockez la valeur dans le champ au moment de l'initialisation, vous pouvez également vérifier la corrélation en lui attribuant une annotation.