# Controllo input (input validation) in HTML & CSS ``` form input:not([type="submit"]):optional { border-color: gray; } form input:not([type="submit"]):required:valid { border-color: greenyellow; } form input:not([type="submit"]):invalid { border-bottom-color: red; } input:not([type="submit"]):focus:valid { background-color: lightgreen; } input:not([type="submit"]):focus:invalid { background: lightsalmon; } form:invalid input[type="submit"] { display: none; } form:invalid::after { color: red; border: 1px solid red; background-color: lightsalmon; border-radius: 20px; width: 50%; padding: 10px 0; margin: 10px auto; display: block; text-align: center; content: "I dati non sono corretti..."; } ``` Iniziamo con questo pezzo di CSS. Quello che starai pensando sarà sicuramente: "Ma che è 'sta roba??" Non preoccuparti, con questo documento capirai esattamente a cosa serve questo codice e imparerai anche a migliorarlo! ## Il tag `