Skip to content

feat: Add form validation for pool parameters #33

Description

@rafamiziara

Description

Implement comprehensive client-side and server-side validation for pool creation parameters to ensure data integrity and security.

Acceptance Criteria

  • Add client-side form validation
  • Implement real-time validation feedback
  • Create server-side validation in Cloud Functions
  • Add custom validation rules for pool parameters
  • Implement async validation for uniqueness checks
  • Add validation error handling and display
  • Create validation test suite

Technical Requirements

  • Use form validation library (React Hook Form or similar)
  • Implement custom validation hooks
  • Add TypeScript interfaces for validation schemas
  • Include regex patterns for input validation
  • Support for async validation calls
  • Internationalization support for error messages

Validation Rules

Pool Name

  • Required field
  • Minimum 3, maximum 50 characters
  • Alphanumeric and spaces only
  • Uniqueness check against existing pools
  • No profanity or reserved words

Pool Description

  • Required field
  • Minimum 10, maximum 500 characters
  • Basic HTML sanitization
  • Content appropriateness check

Token Address (ERC20)

  • Valid Ethereum address format
  • Contract existence verification
  • ERC20 standard compliance check
  • Not on blacklisted tokens

Financial Parameters

  • Interest rate within allowed ranges
  • Loan terms within reasonable limits
  • Minimum/maximum amounts validation
  • Percentage calculations accuracy

User Experience

  • Real-time validation feedback
  • Clear error message display
  • Field-level validation indicators
  • Form submission prevention when invalid
  • Helpful validation hints and examples

Definition of Done

  • All form fields have proper validation
  • Real-time validation feedback works
  • Server-side validation prevents invalid data
  • Comprehensive validation test coverage
  • User-friendly error messages
  • Validation documentation complete

Metadata

Metadata

Assignees

Labels

comp: frontendIssues for the mobile app UI/UX in packages/mobile-app

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions