app/views/registrations/_item_row.html.erb
<div class="row mb-3">
<%= item_form.label :barcode, class: 'col-sm-2 col-form-label' %>
<div class="col-sm-10">
<%= item_form.text_field :barcode, class: 'form-control',
pattern: '^(36105[0-9]{9}|2050[0-9]{7}|245[0-9]{8}|[0-9]+-[0-9]+)',
data: {
action: 'change->registration-item-row#validateBarcode invalid->registration#displayValidation',
registration_item_row_target: 'barcode'
} %>
</div>
</div>
<div class="row mb-3">
<%= item_form.label :catalog_record_id, CatalogRecordId.label, class: 'col-sm-2 col-form-label' %>
<div class="col-sm-10">
<%= item_form.text_field :catalog_record_id, class: 'form-control',
pattern: CatalogRecordId.html_pattern_string,
data: {
action: 'change->registration-item-row#validateCatalogRecordId change->registration-item-row#validateLabel invalid->registration#displayValidation',
registration_item_row_target: 'catalogRecordId'
} %>
</div>
</div>
<div class="row mb-3">
<%= item_form.label :source_id, 'Source ID', class: 'col-sm-2 col-form-label' %>
<div class="col-sm-10">
<%= item_form.text_field :source_id, class: 'form-control', required: true,
pattern: '^.+:.+$',
data: {
action: 'change->registration-item-row#validateSourceId invalid->registration#displayValidation',
registration_target: 'sourceId',
registration_tabs_target: 'requiredFormField',
registration_item_row_target: 'sourceId'
} %>
</div>
</div>
<div class="row mb-3">
<%= item_form.label :label, class: 'col-sm-2 col-form-label' %>
<div class="col-sm-10">
<%= item_form.text_field :label, class: 'form-control',
data: {
registration_item_row_target: 'label',
registration_tabs_target: 'requiredFormField',
action: 'change->registration-item-row#validateLabel invalid->registration#displayValidation'
} %>
</div>
</div>