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

nette / forms
93%

Build:
DEFAULT BRANCH: master
Repo Added 25 Jan 2021 12:25AM UTC
Files 48
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

LAST BUILD ON BRANCH master
branch: SELECT
CHANGE BRANCH
x
  • No branch selected
  • backup-v33-before-bc
  • do-not-propagate-submit
  • fix-call-return-type
  • fix-select-box
  • getHttpData-return-type
  • httpdata-type
  • js/validated-control
  • master
  • test
  • v3.0
  • v3.1
  • v3.1.1
  • v3.1.10
  • v3.1.11
  • v3.1.12
  • v3.1.13
  • v3.1.14
  • v3.1.15
  • v3.1.2
  • v3.1.3
  • v3.1.4
  • v3.1.5
  • v3.1.6
  • v3.1.7
  • v3.1.7-RC
  • v3.1.7-RC2
  • v3.1.8
  • v3.1.9
  • v3.1.9-RC
  • v3.2
  • v3.2.0
  • v3.2.0-RC
  • v3.2.1
  • v3.2.2
  • v3.2.3
  • v3.2.4
  • v3.2.5
  • v3.2.6
  • v3.2.7
  • v3.2.8
  • v3.2.9
  • v3.3
  • v3.3.0
  • v3.3.0-RC

02 Jul 2026 04:53PM UTC coverage: 93.28% (-0.2%) from 93.512%
28608035798

push

github

dg
Form: submission detection redesigned around SubmissionSource objects

A form no longer inherits its way of receiving submitted data, it is
given a source:

- interface SubmissionSource { receiveData(Form): ?array; prepare(Form) }
- Sources\HttpSource - reads the form's own HTTP request: method match,
  Sec-Fetch origin policy (?FetchSite $allowedOrigin, null disables the
  check), POST+FILES/GET merge and the '_form_' tracker of a named form,
  which it installs itself in the prepare() render hook and validates
  against the form name at receive time
- Sources\NullSource - never submitted; used by Repeater item templates
  and Blueprint dummy forms instead of the former anonymous-class trick,
  so introspective code gets false from isSubmitted() instead of hacks

Form gains setSubmissionSource() and a protected createDefaultSource()
seam: the default HttpSource materializes lazily at the first submission
query or render, so a bare `new Form` keeps its behavior. Descendants
anchored elsewhere (Nette\Application\UI\Form) return null from
createDefaultSource() and set their source later; the write-once setter
runs a catch-up loadHttpData() pass so that controls attached before the
source load their values. The presenter signal field of UI\Form is the
same kind of marker as the tracker and moves to the prepare() hook of
its source on the application side.

Behavior notes: the tracker is installed at render time, so it renders
after user fields and $form[TrackerId] exists only after
fireRenderEvents(); Form::$httpRequest was replaced by injecting
`new HttpSource($request)`; the cross-origin flag lives in the source,
allowCrossOrigin() delegates to it.

284 of 326 new or added lines in 5 files covered. (87.12%)

58 existing lines in 9 files now uncovered.

2443 of 2619 relevant lines covered (93.28%)

0.93 hits per line

Relevant lines Covered
Build:
Build:
2619 RELEVANT LINES 2443 COVERED LINES
0.93 HITS PER LINE
Source Files on master
  • Tree
  • List 48
  • Changed 13
  • Source Changed 0
  • Coverage Changed 13
Coverage ∆ File Lines Relevant Covered Missed Hits/Line

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
28608035798 master Form: submission detection redesigned around SubmissionSource objects A form no longer inherits its way of receiving submitted data, it is given a source: - interface SubmissionSource { receiveData(Form): ?array; prepare(Form) } - Sources\HttpSo... push 02 Jul 2026 05:08PM UTC dg github
93.28
28608018984 master x push 02 Jul 2026 05:08PM UTC dg github
93.51
28607566428 master Form: submission detection redesigned around SubmissionSource objects A form no longer inherits its way of receiving submitted data, it is given a source: - interface SubmissionSource { receiveData(Form): ?array; prepare(Form) } - Sources\HttpSo... push 02 Jul 2026 05:00PM UTC dg github
93.28
28593492522 master Form: standalone HTTP processing split into new StandaloneForm (BC break) Form is now a detached base: it builds, validates and renders, but has no access to submitted data (isAnchored() returns false, submission API throws InvalidStateException ... push 02 Jul 2026 01:24PM UTC dg github
93.27
28592229123 master Form: standalone HTTP processing split into new StandaloneForm (BC break) Form is now a detached base: it builds, validates and renders, but has no access to submitted data (isAnchored() returns false, submission API throws InvalidStateException ... push 02 Jul 2026 01:04PM UTC dg github
93.27
28588025136 master added Repeater example push 02 Jul 2026 11:55AM UTC dg github
93.1
28395466416 v3.3 added Form::Enum validation rule for backed enums Validates that a control's value is a valid case of a backed enum, catching invalid input during form validation instead of letting it reach the typed mapping sink (getValues(Dto::class)), where a... push 29 Jun 2026 06:55PM UTC dg github
93.7
28395430264 v3.2 added CLAUDE.md push 29 Jun 2026 06:55PM UTC dg github
93.37
28395370762 v3.2 added CLAUDE.md push 29 Jun 2026 06:54PM UTC dg github
93.37
28395249751 getHttpData-return-type Merge cd11b2ef3 into 8c59b75ac Pull #353 29 Jun 2026 06:52PM UTC web-flow github
93.37
See All Builds (544)
  • Repo on GitHub
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc