FIELD_FILTER_VALIDATION_EXCEPTION oplossen in Salesforce-deployments
Een lookupveldwaarde voldoet niet aan het lookupfilter dat op dat veld is ingesteld.
Treedt op bij: runtime-DML, overal waar een lookupwaarde wordt ingesteld, inclusief Apex-testsWat het betekent
FIELD_FILTER_VALIDATION_EXCEPTION betekent dat een lookup- of master-detailrelatie wordt ingesteld op een waarde die niet voldoet aan het lookupfilter dat op dat veld is gedefinieerd. Lookupfilters beperken welke records kunnen worden geselecteerd op basis van criteria zoals status of recordtype, en Salesforce handhaaft ze bij elke opslag, niet alleen via de UI.
In tegenstelling tot een validatieregel wordt een lookupfilter op het veld zelf in Setup ingesteld in plaats van als formule geschreven, waardoor het makkelijk is te vergeten dat het bestaat totdat seed-data of een migratiescript een waarde instelt die het filter juist moest weigeren.
Veelvoorkomende oorzaken
De oplossing
- Werk migratie- of seed-data bij zodat deze aan de huidige filtercriteria voldoetRicht de lookup op een record dat voldoet aan het actieve lookupfilter van de doelorg.
- Controleer het lookupfilter bij het deployen van data die een uitzondering nodig heeftVerruim het filter tijdelijk als een specifieke bulklading het echt moet omzeilen, en herstel het daarna.
- Controleer lookupfilters na wijzigingen in het objectmodelControleer bij elke wijziging van filtercriteria bestaande automatisering en testdata op verwijzingen die er nu niet meer aan zouden voldoen.
Hoe Serpent dit voorkomt
Serpent valideert deployments tegen de huidige metadata van de doelorg voordat een taak wordt gepromoveerd, zodat een lookupfilter dat in een latere release is aangescherpt naar voren komt tijdens CI in plaats van tijdens een productiedata-load. Zie de bibliotheek met Salesforce-deploymentfouten.

Preventie
Gerelateerde fouten
FIELD_FILTER_VALIDATION_EXCEPTION, uitgelegd
Start gratis. Geen creditcard, geen installatie, geen verplichting.
Binnen 15 minuten ingericht. Geen DevOps-aanwerving nodig.
