UNPKG

bc-code-intelligence-mcp

Version:

BC Code Intelligence MCP Server - Complete Specialist Bundle with AI-driven expert consultation, seamless handoffs, and context-preserving workflows

120 lines (78 loc) 7.71 kB
--- title: "FieldError in Validation Patterns" domain: "quinn-tester" difficulty: "intermediate" bc_versions: "14+" tags: ["fielderror", "validation", "business-rules", "onvalidate", "posting-codeunits", "data-integrity"] prerequisites: ["fielderror-syntax-usage", "field-triggers", "validation-fundamentals"] related_topics: ["business-rule-validation", "posting-procedures", "data-integrity-patterns"] samples: "samples/fielderror-validation-patterns.md" --- # FieldError in Validation Patterns ## Overview FieldError serves as a critical component in Business Central validation patterns, providing immediate user feedback when business rules are violated. The method integrates seamlessly with AL validation triggers and posting procedures to enforce data integrity and guide users toward correct data entry. Understanding how to effectively use FieldError within different validation contexts enables developers to create robust business applications with clear user guidance and consistent error handling. **Validation Philosophy**: FieldError should provide specific, actionable feedback that helps users understand business rule violations and guides them toward successful data correction. ## OnValidate Trigger Integration ### Field-Level Business Rules FieldError commonly appears in OnValidate triggers where field values must meet specific business criteria. The method provides immediate feedback when users enter data that violates established business rules, preventing invalid data from being saved. ### Cross-Field Validation When field validity depends on other field values within the same record, FieldError helps identify which specific field needs correction while explaining the relationship to other data. This targeted approach guides users efficiently through complex validation scenarios. ### State-Dependent Validation Fields often have different validation requirements based on record state or document status. FieldError enables context-sensitive validation that adapts to changing business requirements throughout the record lifecycle. ## Posting Procedure Validation ### Pre-Posting Validation Business Central's posting codeunits use FieldError extensively to validate data completeness and business rule compliance before executing posting transactions. This pattern ensures that only valid business documents are posted to the system. ### Transaction Integrity FieldError respects transaction boundaries during posting procedures, ensuring that validation failures trigger appropriate rollback behavior. This maintains database consistency when complex business processes encounter validation errors. ### Batch Processing Validation In batch processing scenarios, FieldError provides specific feedback about which records and fields prevent successful processing, enabling users to correct data systematically. ## Business Rule Enforcement Patterns ### Mandatory Field Validation FieldError enforces mandatory field requirements by providing clear feedback about missing data. Unlike TestField, FieldError allows custom messages that explain business context for field requirements. ### Value Range Validation For fields with acceptable value ranges, FieldError messages can specify valid ranges and explain business rationale for constraints, helping users understand and comply with business rules. ### Format and Pattern Validation When fields must conform to specific formats or patterns, FieldError provides targeted feedback about format requirements and examples of acceptable values. ## Complex Validation Scenarios ### Multi-Condition Validation For validation scenarios involving multiple conditions, FieldError can be called after comprehensive business rule evaluation, providing specific feedback about which particular condition failed. ### Hierarchical Validation In scenarios where field validation depends on parent-child relationships or hierarchical data structures, FieldError helps identify specific validation failures within complex data relationships. ### Workflow-Dependent Validation Fields may have different validation requirements based on document workflow status or approval stages. FieldError enables dynamic validation that adapts to changing business process requirements. ## Integration with Validation Procedures ### Centralized Validation Logic FieldError works effectively within dedicated validation procedures that encapsulate complex business rules. This approach separates validation logic from user interface code while maintaining clear error feedback. ### Reusable Validation Components Validation procedures using FieldError can be reused across different objects and contexts, providing consistent business rule enforcement throughout the application. ### Layered Validation Architecture FieldError supports layered validation architectures where basic field validation occurs at the table level, while complex business rule validation happens in specialized validation procedures. ## Error Context and User Guidance ### Business Process Context FieldError messages should provide enough business context for users to understand why specific validation rules exist and how they relate to overall business processes. ### Correction Guidance Effective FieldError usage includes specific instructions about how users can correct validation failures, reducing frustration and improving data entry efficiency. ### Workflow Integration FieldError messages can guide users through complex business workflows by explaining next steps and prerequisites for successful process completion. ## Performance Considerations in Validation ### Validation Timing FieldError should be called at appropriate validation phases to minimize performance impact while providing timely user feedback. Consider the cost of validation logic versus the benefit of early error detection. ### Batch Validation Efficiency In batch processing scenarios, consider whether FieldError provides the most efficient error handling approach, or if collecting validation errors for batch reporting would be more appropriate. ### Database Impact FieldError calls within validation procedures should consider database access patterns and transaction boundaries to maintain optimal performance during validation operations. ## Best Practices for Validation Integration ### Validation Separation Separate business rule logic from error reporting logic to improve maintainability and testability of validation code. Use FieldError as the reporting mechanism after business rule evaluation. ### Consistent Error Standards Establish consistent FieldError message formats and content standards across the application to provide predictable user experience during validation scenarios. ### Testing Validation Logic Design validation procedures using FieldError to be easily testable, enabling thorough verification of business rule enforcement and error message accuracy. ## Common Validation Patterns ### Document Header Validation Document headers often require comprehensive validation before processing. FieldError provides targeted feedback about specific header fields that prevent document progression. ### Line Item Validation Individual line items within documents may have specific validation requirements. FieldError helps users identify and correct specific line validation issues without losing context of the overall document. ### Setup Table Validation Configuration and setup tables use FieldError to ensure that system configuration data meets business requirements and maintains system integrity.