Overview

Checker Tools provide comprehensive data validation and quality assurance capabilities. These tools help ensure data integrity, compliance with business rules, and automated quality control in your workflows.

Key Features

CHECKER_CHECK_BY_JSON

  • Validate text against JSON-defined rules
  • Flexible rule configuration
  • Detailed validation results with reasons
  • Support for multiple validation criteria

CHECKLIST

  • File-based validation using CSV rules
  • Batch validation capabilities
  • Structured validation reporting
  • Integration with external rule sets

JINBA_MODULES_CHECKER_V2

  • Advanced validation using JSON rule files
  • Enhanced rule processing
  • Improved performance and accuracy
  • Version 2 with additional features

Authentication

No authentication required for checker tools.

Example: Document Validation

- id: validate_document
  name: validate_document
  tool: CHECKER_CHECK_BY_JSON
  input:
    - name: text
      value: "{{steps.extract_document.result.content}}"
    - name: task_name
      value: "Contract Compliance Check"
    - name: description
      value: "Validate contract document against legal requirements"
    - name: rules
      value: |
        [
          {
            "rule": "Must contain signature section",
            "pattern": "signature|sign here|executed by",
            "required": true
          },
          {
            "rule": "Must include termination clause",
            "pattern": "termination|end of agreement|expire",
            "required": true
          },
          {
            "rule": "Should specify payment terms",
            "pattern": "payment|invoice|billing|due",
            "required": false
          }
        ]

Example: Data Quality Validation

- id: extract_data
  name: extract_data
  tool: EXCEL_GET_ROWS
  input:
    - name: file_url
      value: "{{steps.input_file.result.file_url}}"
    - name: range
      value: "A1:E100"

- id: validate_data_quality
  name: validate_data_quality
  tool: CHECKER_CHECK_BY_JSON
  input:
    - name: text
      value: "{{steps.extract_data.result.content | join('\n')}}"
    - name: task_name
      value: "Customer Data Validation"
    - name: rules
      value: |
        [
          {
            "rule": "Email format validation",
            "pattern": "[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}",
            "required": true
          },
          {
            "rule": "Phone number format",
            "pattern": "\\+?[1-9]\\d{1,14}",
            "required": true
          },
          {
            "rule": "Complete address information",
            "pattern": "street|avenue|road|drive|lane",
            "required": false
          }
        ]

- id: process_validation_results
  name: process_validation_results
  tool: PYTHON_SANDBOX_RUN
  input:
    - name: code
      value: |
        import json
        
        validation_results = {{steps.validate_data_quality.result.results}}
        
        # Count validation status
        accepted = sum(1 for r in validation_results if r['status'] == 'accepted')
        rejected = sum(1 for r in validation_results if r['status'] == 'rejected')
        pending = sum(1 for r in validation_results if r['status'] == 'pending')
        
        print(f"Validation Summary:")
        print(f"✅ Accepted: {accepted}")
        print(f"❌ Rejected: {rejected}")
        print(f"⏳ Pending: {pending}")
        
        # List rejected items with reasons
        if rejected > 0:
            print("\nRejected Items:")
            for result in validation_results:
                if result['status'] == 'rejected':
                    print(f"- {result['rule']}: {result['reason']}")

Example: Advanced File Validation

- id: upload_rules_file
  name: upload_rules_file
  tool: INPUT_FILE
  input:
    - name: description
      value: "Upload validation rules CSV file"

- id: validate_with_checklist
  name: validate_with_checklist
  tool: CHECKLIST
  input:
    - name: file_url
      value: "{{steps.input_data.result.file_url}}"
    - name: rules_file
      value: "{{steps.upload_rules_file.result.file_url}}"
    - name: task_name
      value: "Batch Data Validation"

- id: advanced_validation
  name: advanced_validation
  tool: JINBA_MODULES_CHECKER_V2
  input:
    - name: file_url
      value: "{{steps.input_data.result.file_url}}"
    - name: rules_json
      value: |
        {
          "validation_rules": [
            {
              "field": "email",
              "type": "email",
              "required": true,
              "error_message": "Valid email address required"
            },
            {
              "field": "age",
              "type": "number",
              "min": 18,
              "max": 120,
              "required": true,
              "error_message": "Age must be between 18 and 120"
            },
            {
              "field": "country",
              "type": "enum",
              "values": ["US", "UK", "CA", "AU", "JP"],
              "required": true,
              "error_message": "Country must be from approved list"
            }
          ]
        }

Validation Rule Types

Pattern-based Rules

  • Regex patterns: Use regular expressions for complex validation
  • Text matching: Simple text presence or absence checks
  • Format validation: Email, phone, URL, date formats

Structural Rules

  • Required fields: Ensure mandatory data is present
  • Data types: Validate numeric, date, boolean data
  • Range validation: Min/max values, length constraints

Business Rules

  • Custom logic: Complex business rule validation
  • Cross-field validation: Rules that depend on multiple fields
  • Conditional rules: Rules that apply under certain conditions

Validation Results

Each validation returns structured results:
{
  "rule": "Email format validation",
  "status": "accepted|rejected|pending",
  "range": "Character range if applicable",
  "reason": "Detailed explanation of validation result"
}

Use Cases

  • Data Quality Assurance: Validate imported data quality
  • Compliance Checking: Ensure documents meet regulatory requirements
  • Form Validation: Validate user-submitted forms and applications
  • Content Moderation: Check content against community guidelines
  • Business Rule Enforcement: Ensure data meets business criteria
  • Import Validation: Validate data before importing into systems
  • Document Review: Automated document compliance checking