Skip to content

Fixed fields

natlibfi-arlehiko edited this page Sep 6, 2018 · 3 revisions

Description

Validates fixed fields

Configuration

  • leader (Boolean): Select leader only
  • tag (RegExp): Pattern to select fields.
  • length (Number): Maximum field length of the fields
  • rules (Array)
    • position (Array|Number): Position(s) to check
    • pattern (RegExp): Characters in the selected positions must match this pattern
    • dependencies: (Array)
      • position (Array|Number): Position(s) to check
      • pattern (RegExp): Characters in the selected positions must match this pattern

Examples

Configuration

[
  {leader: true, length: 6, rules: [
    {position: [0, 6], pattern: /[abcdefg]/}
  ]},
  {tag: /^FOO$/, length: 12, rules: [
    {position: 0, pattern: /f/}
  ]},
  {tag: /^BAR$/, length: 6, rules: [
    {position: 0, pattern: /[fb]/},
    {position: 1, pattern: /a/, dependencies: [
      {position: 0, pattern: /b/}
    ]},
  {position: [2, 3], pattern: /u/, dependencies: [
    {position: 0, pattern: /[^b]/}
    ]}
  ]}
]

Valid record

{
  leader: 'bacgfe',
  fields: [
    {
      tag: 'FOO',
      value: 'foobarfoobar'
    },
    {
      tag: 'BAR',
      value: 'bauuoo'
    }
  ]
}

Invalid record

{
  leader: 'bacxfe',
  fields: [
    {
      tag: 'FOO',
      value: 'barfoofoobar'
    },
    {
      tag: 'BAR',
      value: 'burfoo'
    },
    {
      tag: 'FUBAR',
      value: 'foo'
    }
  ]
}