department-of-veterans-affairs/vets-website

View on GitHub
src/applications/simple-forms/21-10210/pages/vetIdInfo.js

Summary

Maintainability
A
1 hr
Test Coverage
import definitions from 'vets-json-schema/dist/definitions.json';
import ssnUI from 'platform/forms-system/src/js/definitions/ssn';
import { maskSSN } from 'platform/forms-system/src/js/web-component-fields/SsnField';

/** @type {PageSchema} */
export default {
  uiSchema: {
    veteranSSN: {
      ...ssnUI,
      'ui:confirmationField': ({ formData }) => ({ data: maskSSN(formData) }),
    },
    veteranVaFileNumber: {
      'ui:title': 'VA file number (if available)',
      'ui:errorMessages': {
        pattern: 'Your VA file number must be 8 or 9 digits',
      },
    },
    veteranVaInsuranceFileNumber: {
      'ui:title': 'VA Insurance File number (if available)',
      'ui:errorMessages': {
        maxLength: 'Please enter a number with fewer than 20 digits.',
      },
    },
  },
  schema: {
    type: 'object',
    required: ['veteranSSN'],
    properties: {
      veteranSSN: definitions.ssn,
      veteranVaFileNumber: definitions.centralMailVaFile,
      veteranVaInsuranceFileNumber: {
        type: 'string',
        maxLength: 20,
      },
    },
  },
};