UNPKG

@ministryofjustice/hmpps-digital-prison-reporting-frontend

Version:

The Digital Prison Reporting Frontend contains templates and code to help display data effectively in UI applications.

33 lines (26 loc) 925 B
import DprFormValidationClass from './DprFormValidationClass.mjs' export default class DprGenericForm extends DprFormValidationClass { static getModuleName() { return 'dpr-generic-form' } initialise() { this.errorMessages = [] this.mainForm = document.getElementById('dpr-form') this.mainForm.noValidate = true this.formFields = Array.from(this.mainForm.elements) this.errorSummary = document.getElementById('dpr-form-summary--error-summary') this.submitButton = document.getElementById('dpr-form-summary--form-submit') this.initSubmitButton() this.initFormValidation(this.formFields) this.mainForm.classList.remove('dpr-form--hidden') } initSubmitButton() { this.submitButton.addEventListener('click', (e) => { e.preventDefault() this.validateForm() if (this.mainForm.checkValidity()) { this.mainForm.requestSubmit() } }) } }