• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

coreui / coreui-pro / 37604430643
96%
main: 94%

Build:
Build:
LAST BUILD BRANCH: v6-dev
DEFAULT BRANCH: main
Ran 07 Oct 2026 10:01AM UTC
Jobs 1
Files 81
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

07 Oct 2026 10:00AM UTC coverage: 95.84% (-0.006%) from 95.846%
37604430643

push

github

web-flow
fix(Stepper): validate a step with the shared validateForm() (#1584)

* fix(Stepper): validate a step with the shared validateForm()

The stepper had its own copy of the novalidate validation sequence and it
had drifted from the form plugin's. It now validates through
validateForm(), so a step behaves like a form submit:

- stepValidationComplete fires before the result is decided, so a validity
  its handler sets with setCustomValidity() counts for the step, in a form
  the browser validates as well as in a novalidate one;
- a step that passes takes the invalid state off controls the page fixed
  without typing, and in a form with data-coreui-validate="valid" marks
  the valid controls with .is-valid.

focusFirstInvalidControl and _showValidationState are gone from the
stepper; the event is still not cancelable.

* fix(Stepper): validate once per step and stop tracking a form that is reset

next() and finish() validated the current step and then let showStep()
validate it again, so a passing step fired stepValidationComplete twice and
a handler's custom validity was read on the second run only. They now leave
the validation to showStep().

A step form stays tracked once validated, so its state keeps following the
controls; a native reset of that form now clears the state and stops the
tracking, as the form plugin does.

In a form the browser validates, the event read the validity with
checkValidity(), which fired the invalid events before the handler and
again from reportValidity(). It now reads it with isFormValid(), a new
form-validation util that answers like checkValidity() without firing
events, so the event comes first in both modes. validateForm() uses it too,
which also counts a button carrying a custom validity.

The docs show a handler that compares two passwords and say to clear the
custom validity once the rule holds; the migration guide records the new
event timing.

7276 of 7844 branches covered (92.76%)

Branch coverage included in aggregate %.

21 of 22 new or added lines in 2 files covered. (95.45%)

12608 of 12903 relevant lines covered (97.71%)

1590.46 hits per line

Uncovered Changes

Lines Coverage ∆ File
1
95.29
-0.25% js/src/stepper.ts
Jobs
ID Job ID Ran Files Coverage
1 37604430643.1 07 Oct 2026 10:01AM UTC 81
95.84
GitHub Action Run
Source Files on build 37604430643
  • Tree
  • List 81
  • Changed 2
  • Source Changed 2
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #37604430643
  • 8ba701df on github
  • Prev Build on v6-dev (#37598510404)
  • Next Build on v6-dev (#37608933274)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc