This field is not set to Required so there is no reason why its invalid...
Labels |
Added:
?
|
Status | New | ⇒ | Discussion |
Category | ⇒ | ACL com_fields |
Labels |
Added:
J3 Issue
|
Status | Discussion | ⇒ | Closed |
Closed_Date | 0000-00-00 00:00:00 | ⇒ | 2018-11-02 19:58:53 |
Closed_By | ⇒ | zero-24 |
Actually the error is thrown because of the new code of 21887,
but #21887 by itself is not wrong in its logic
[EDIT]
code review and tested and the above the behavior of throwing error on disabled but posted fields pre-existed PR #21887, indeed PR #21887 is not related
and throwing error of disabled but posted elements is ok all form elements,
... except for form elements of com_fields array,
that is because fields of com_fields, as you know have the normalization code thing that sets a default of -false- for fields that are not posted (which is later used to make non-posted fields maintain their value)
So normalization code makes disabled fields appear as if they were posted ... which triggers the exception the invalid field exception because field should not exist in the request
As described above #21887 adds just a check if input is set do this
the original change was from a security change just before that patch applied. But anyway this change seams to be correct. As disabled
means no interaction and no data send by the browser. So when you disable a field it is not allowed that this field is in the post data. So read only is the correct way to fix it as this allows to send readonly fields and pass that check.
Confirmed by a user in german forum: https://forum.joomla.de/thread/6617-bug-o-feature-rechteproblem-mit-benutzerfeld/