import { Field } from "./Field.js"; import { ValidationError } from "../ValidationError.js"; export class IntField extends Field { separator = "="; constructor(key, min, max) { super(key); this.min = min; this.max = max; } validate(value) { const number = parseFloat(value); if (isNaN(number)) throw new ValidationError(`Field "${this.key}" must be a number`); if (!Number.isInteger(number)) throw new ValidationError(`Field "${this.key}" must be an integer`); if (number < this.min) throw new ValidationError(`Field "${this.key}" must be ${this.min} or greater`); if (number > this.max) throw new ValidationError(`Field "${this.key}" must not exceed ${this.max}`); return true; } getInputHtml() { return ``; } getInputValue() { return document.getElementById(this.id).value; } }