Commit graph

10 commits

Author SHA1 Message Date
Timo Tijhof
3a2a707546 Clean up remaining get_class() uses
* get_class()        -> __CLASS__ (same as self::class)
* get_called_class() -> static::class
* get_class($this)   -> static::class

Change-Id: I1888a1897ecf4548a2e5a67a942e5c080dd7e3d3
2017-03-07 22:03:47 +00:00
Bartosz Dziewoński
a83188d0ab HTMLFormFieldCloner: Set 'formnovalidate' on add/remove field buttons
Otherwise, after we allow HTML5 form validation attributes, these
buttons wouldn't work for non-JS users (unless the whole form was
otherwise valid).

Change-Id: Ia9c16849774c186b991280ea60fc5608ddd4cf42
2016-12-18 12:58:26 +00:00
jenkins-bot
f9e21f91e4 Merge "mw.htmlform: Fields hidden with 'hide-if' should be disabled" 2016-12-18 12:56:11 +00:00
Bartosz Dziewoński
5d5dbc83da mw.htmlform: Fields hidden with 'hide-if' should be disabled
Otherwise, in browsers that support HTML5 form validation, it
would be impossible to submit the form if a field failing
validation was hidden (e.g. because it's marked as required).

Note that disabled fields are not submitted with the form. This
should be okay, as server-side validation ignores them entirely.
(I37e50799ba1f0e0e64a197818b58444f5b056bf0 fixes a corner case.)

For cloner fields, 'hide-if' rules of the parent are now copied
to the children, to make handling such nested fields simpler.

Bug: T145440
Change-Id: I81d04dca6cbb499a15828fd33b01746b68c694da
2016-12-02 19:22:38 +01:00
jenkins-bot
474b445a1d Merge "HTMLFormFieldCloner: Don't try to validate hidden fields" 2016-11-25 18:59:02 +00:00
Bartosz Dziewoński
ae99e67243 HTMLFormFieldCloner: Don't try to validate hidden fields
Follow-up to 788526c2d1.

To test: try to create a SecurePoll of type "Approval vote". Without this
patch, but with I81d04dca6cbb499a15828fd33b01746b68c694da, an invisible
field (only applicable for "Range voting (plurality)") will fail validation.

Change-Id: I37e50799ba1f0e0e64a197818b58444f5b056bf0
2016-11-24 17:50:49 +01:00
Brad Jorsch
7fdbe15fb6 HTMLForm: Allow returning Message objects from HTMLFormField::validate()
It mostly already worked. HTMLForm::trySubmit() needed a little
adjustment to handle things properly.

Change-Id: Ibb17bb61ac0b2d41953249980bc2f23b8a3ae5b6
2016-11-14 13:25:14 -05:00
Florian Schmidt
ac4f758dee Type hint array for HTMLFormFieldCloner::getInputHTMLForKey()
I was a bit fast with merging I18edfcb62f7b21f2c1990c73944ee6a956fd4901,
because I think, type hinting the type of the parameter would make sense,
too.

Bug: T142912
Change-Id: Id397847c6c078047f3daa84db68ccf3e629ca531
2016-08-15 16:41:20 +02:00
Brad Jorsch
a979689003 HTMLFormFieldCloner: Pass enpty array, not null, to avoid warning
Bug: T142912
Change-Id: I18edfcb62f7b21f2c1990c73944ee6a956fd4901
2016-08-15 10:13:54 -04:00
Bartosz Dziewoński
15692fa6d4 Move HTMLFormField subclasses to a separate directory
It's getting more difficult to navigate the files in includes/htmlform/
with every new field and every new helper class that is being added.

Change-Id: I92ce2356baf6151f17b2440970d5abdf86503820
2016-08-01 07:58:56 +00:00
Renamed from includes/htmlform/HTMLFormFieldCloner.php (Browse further)