Axapta Validation Remplacer toujours deux fois Exécute
-
18-09-2019 - |
Question
Dans la plupart des cas, les méthodes de validation, je l'ai remplacée exécuter chaque fois que deux fois le champ parent est modifié. Tout fonctionne encore, mais le Infolog affiche des messages doubles à chaque fois.
Y at-il moyen d'empêcher cela?
Merci
public boolean validate()
{
boolean ret;
int exlowValue;
int lowValue;
int highValue;
int exhighValue;
str errorMessage;
;
ret = super();
//Make sure a numeric value was entered
if (ABC_RegExValidator::validateMe("integer", int2str (ABC_Checks_checkExtremeLow.value())))
{
//get the form values
exlowValue = ABC_Checks_checkExtremeLow.value();
lowValue = str2int(ABC_Checks_checkLow.valueStr());
highValue = str2int(ABC_Checks_checkHigh.valueStr());
exhighValue = str2int(ABC_Checks_checkExtremeHigh.valueStr());
//Extreme Low must be 0 or less than all others
if (exlowValue != 0)
{
//A non-zero value was entered; it must be less than all other fields
if ((exlowValue >= lowValue && lowValue > 0) || (exlowValue >= highValue && highValue > 0) || (exlowValue >= exhighValue && exhighValue > 0))
{
//Return an error
ret = checkfailed(strFmt("@ABC197", int2str(exlowValue)));
}
else
{
//Not greater than any other value
//Success!
ret = true;
} //Greater than all others?
}
else
{
//No errors
ret = true;
} // 0?
}
else
{
//Regular expression failed
//Return an error
ret = checkfailed("@ABC192");
} //Regular expression
return ret;
}
La solution
Votre description du problème n'est pas vraiment clair. On peut remplacer la méthode valite sur un contrôle de formulaire, le procédé de validation d'un formulaire source de données et le procédé de validatefield sur la table. C'est ma connaissance de la version 3.0. Et comment voulez-vous le « champ parent »? Je suppose que le champ de la table?
Si je mets des messages d'information dans chacune de ces méthodes, ils exécutent une seule fois quand je modifie une valeur. C'est le cas dans la version 3.0. Je ne sais pas quelle version que vous utilisez.
Peut-être que vous pourriez être plus précis sur la méthode de validation que vous testez?