Bug 242063

Summary: Resetting the value of an input file to null should make it invalid
Product: WebKit Reporter: Felipe Ambrosio <felipe>
Component: DOMAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Minor CC: ahmad.saleem792, akeerthi, cdumez, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: Safari 15   
Hardware: Mac (Intel)   
OS: macOS 12   

Felipe Ambrosio
Reported 2022-06-28 09:40:14 PDT
I'm trying to select an input[type="file"]:invalid but it doesn't work on Safari. That's because Safari doesn't mark it as invalid when this FormElement value is reset to "" or null. Isolated preview: https://codepen.io/FelipePS/pen/OJvJmoK How to reproduce error: 1) On load, input is invalid (background-color light blue) because it's empty and required. 2) Add a file to it. It changes to valid as expected, assuming background-color light grey. 3) Click "Remove file" to reset the input. Expected behaviour: Upon clicking "Remove file", it should assume background-color light blue again, because it's now empty and it's a required field. Chrome 102 and Firefox 100 behave as expected. Current behaviour: Safari maintains the input field as valid (background-color light grey).
Attachments
Felipe Ambrosio
Comment 1 2022-06-28 09:50:26 PDT
Found a simple workaround! call setCustomValidity(" ") with a non-empty string to manually make field invalid.
Radar WebKit Bug Importer
Comment 2 2022-07-05 09:41:13 PDT
Ahmad Saleem
Comment 4 2023-02-19 11:31:06 PST
EWS
Comment 5 2023-02-22 11:48:54 PST
Committed 260688@main (ea06eb38955a): <https://commits.webkit.org/260688@main> Reviewed commits have been landed. Closing PR #10349 and removing active labels.
Note You need to log in before you can comment on or make changes to this bug.