import { Controller } from "stimulus"; /* * Para poder indicar que al menos uno del grupo de checkboxes es * obligatorio, marcamos uno como `required` (que es el que mostraría el * error) y se lo quitamos cuando detectamos que alguno cambió. */ export default class extends Controller { static targets = ["required", "checkbox"]; connect() { } /* * El grupo deja de ser obligatorio cuando al menos uno está activo. */ change(event = undefined) { if (event.target.checked) { this.requiredTarget.required = false; } else { this.requiredTarget.required = !Array.from(this.checkboxTargets).some(x => x.checked); } } }