Skip to content

Validation Protocol: Cross-Field, Async, and Conditional validation#59

Merged
huangyiirene merged 2 commits intomainfrom
copilot/enhance-validation-protocol
Jan 21, 2026
Merged

Validation Protocol: Cross-Field, Async, and Conditional validation#59
huangyiirene merged 2 commits intomainfrom
copilot/enhance-validation-protocol

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Jan 21, 2026

Implements comprehensive validation protocol enhancements: cross-field validation for multi-field business rules, async validation for remote checks, and conditional validation for context-aware rules.

Changes

Cross-Field Validation (17 tests)

  • Date range validation (end_date > start_date)
  • Amount comparisons with multiple fields
  • Complex expressions with AND/OR operators
  • Documented with Salesforce validation rule equivalents
{
  type: 'cross_field',
  name: 'discount_limit',
  condition: 'discount > (amount * 0.40)',
  fields: ['discount', 'amount'],
  message: 'Discount cannot exceed 40% of the amount'
}

Async Validation (14 tests)

  • Remote uniqueness checks via API endpoints
  • Timeout and debounce configuration
  • Seven documented use cases: email/username uniqueness, tax ID validation, credit card verification, address validation, domain availability, coupon validation
{
  type: 'async',
  name: 'unique_email',
  field: 'email',
  validatorUrl: '/api/users/check-email',
  debounce: 500,
  timeout: 3000
}

Conditional Validation (14 tests)

  • "Validate only if X" patterns with when/then/otherwise
  • Nested conditionals for complex business logic
  • Role-based and region-specific validation
{
  type: 'conditional',
  when: 'order_total > 10000',
  then: {
    type: 'script',
    name: 'manager_approval_required',
    condition: 'manager_approval_id = null'
  }
}

Documentation

  • Module-level docs comparing ObjectStack to Salesforce patterns
  • Inline examples for each validation type
  • Best practices for async validation (timeouts, debouncing, caching)
Original prompt

Week 3: Validation Protocol Enhancement

Day 1-2: Cross-Field Validation

Define CrossFieldValidationSchema in validation.zod.ts
Support expressions like "end_date > start_date"
Write 15+ tests
Document with Salesforce validation rule examples
Day 3-4: Async Validation

Define AsyncValidationSchema in validation.zod.ts
Support remote uniqueness checks via API
Write 10+ tests with mock endpoints
Document use cases (email uniqueness, username availability)
Day 5: Conditional Validation

Add condition field to ValidationSchema
Support "validate only if X is true" patterns
Write 10+ tests


💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.

@vercel
Copy link
Copy Markdown

vercel bot commented Jan 21, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Review Updated (UTC)
spec Error Error Jan 21, 2026 1:52pm

Request Review

…umentation

Co-authored-by: huangyiirene <7665279+huangyiirene@users.noreply.github.com>
@huangyiirene huangyiirene marked this pull request as ready for review January 21, 2026 13:55
Copilot AI changed the title [WIP] Add validation protocol enhancements for cross-field and async checks Validation Protocol: Cross-Field, Async, and Conditional validation Jan 21, 2026
Copilot AI requested a review from huangyiirene January 21, 2026 13:56
@huangyiirene huangyiirene merged commit ae00042 into main Jan 21, 2026
9 of 10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants