informel error slot

by juliendelort

HTML

<script src="https://unpkg.com/informel"></script>

<inform-el>
  <form>
    <label>
      First Name
      <inform-field>
        <input type="text" name="firstName"  required pattern="^$"/>
        <span slot="error" role="alert" />
      </inform-field>
    </label>
    <label>
      Last Name
      <inform-field>
        <input type="text" name="lastName" required pattern="^$"/>
        <span slot="error" role="alert" />
      </inform-field>
    </label>

    <button type="submit">Submit</button>
  </form>
</inform-el>

<div id="result">

</div>

CSS

#result {
  margin-top: 10px;
}

label {
  display: block;
  margin-bottom: 20px;
}
body {
  background: #f6f8fa;
  font-family: arial;
  padding: 20px;
}

[role="alert"]{
  color: orange;
}

JavaScript

document.querySelector("inform-el").addEventListener("inform-submit", ({ detail: { values } }) => {
   document.querySelector('#result').textContent = JSON.stringify(values, null, '\t');
});