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;
}
Était-ce utile?

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?

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top