W3C spec: The required attribute is a boolean attribute. When specified, the element is required.

Met het required attribuut geef je aan of een veld verplicht is of niet. De browser geeft een foutmelding terug bij formuliervalidatie.


Voorbeeld

Velden met een asterisk (*) zijn verplicht.


Code

<form>
    <label for="name">Naam *</label>
    <input type="text" required id="name">
    
    <label for="email">Email *</label>
    <input type="text" required id="email">
    
    <label for="tel">Telefoonnummer</label>
    <input type="text" id="tel">
    
    <button type="submit">Verzenden</button>
</form>

Ondersteuning

Het attribuut is in de meeste browsers al ondersteund. Bij foutieve invoer, vermeldt FireFox dat het veld verplicht is. Geen ondersteuning in Mac OSX 10.10.3 met Safari 8.06 of in iOS 8 Safari.

Screenshot FireFox required attribute Mac OS X Mavericks

screenreader support
VoiceOver Mac OSX 10.10.3 met Safari 8.06 Aangekondigd maar geen foutmelding bij formuliervalidatie.
Jaws 14 met Firefox 26.0 Jaws kondigt aan dat het veld verplicht is. Als het formulier verzonden wordt, wordt de tooltip voorgelezen maar zegt niet op welk veld dit van toepassing is.
Jaws 14 met IE9 Niet ondersteund.
Jaws 15 met IE11 Niet ondersteund.
NVDA 2013.3 met Firefox 26.0 NVDA kondigt aan dat het veld verplicht is. Als het formulier verzonden wordt, wordt de tooltip voorgelezen maar zegt niet op welk veld dit van toepassing is.
NVDA 2013.3 met IE9 Niet ondersteund.
NVDA 2015.1 - Windows 7 - Firefox 37.0 NVDA kondigt aan dat het veld verplicht is. Als het formulier verzonden wordt, wordt de tooltip voorgelezen maar zegt niet op welk veld dit van toepassing is.
SuperNova 2013.52 Niet ondersteund.

Advies

Voorzie server side validatie met een duidelijke foutmelding bij gebrek aan ondersteuning van "required". Duid in het label aan dat het veld verplicht is.