Attribut HTML : min
===================

L'attribut **`min`** définit la valeur minimale qui est acceptable et valide pour l'entrée contenant l'attribut. Si la valeur de l'élément est inférieure à cette valeur, l'élément échoue lors de la validation des contraintes (en-US). Cette valeur doit être inférieure ou égale à la valeur de l'attribut `max`. Si une valeur est spécifiée pour `min` qui n'est pas un nombre valide, l'entrée n'a pas de valeur minimale.

Valable pour les types de saisie numérique, y compris les types `date`, `month`, `week`, `time`, `datetime-local`, `number` et `range`, et l'élément `<meter>`, l'attribut `min` est un nombre qui spécifie la valeur la plus négative qu'un contrôle de formulaire doit considérer comme valide.

Syntaxe
-------

 Syntaxe pour les valeurs
 `min`
 par
 `type`
 de saisie.
 | Type de saisie | Syntaxe | Exemple |
| --- | --- | --- |
| `date` | 
```html
yyyy-mm-dd
```
 | 
```html
<input type="date" min="2019-12-25" step="1">
```
 |
| `month` | 
```html
yyyy-mm
```
 | 
```html
<input type="month" min="2019-12" step="12">
```
 |
| `week` | 
```html
yyyy-W##
```
 | 
```html
<input type="week" min="2019-W23" step="">
```
 |
| `time` | 
```html
hh:mm
```
 | 
```html
<input type="time" min="09:00" step="900">
```
 |
| `datetime-local` | `yyyy-mm-ddThh:mm` | 
```html
<input type="datetime-local" min="2019-12-25T19:30">
```
 |
| `number` | <number> | 
```html
<input type="number" min="0" step="5" max="100">
```
 |
| `range` | <number> | 
```html
<input type="range" min="60" step="5" max="100">
```
 |

**Note :** Lorsque les données saisies par l'utilisateur ne respectent pas la valeur minimale définie, la valeur est considérée comme non valide dans la validation des contraintes et correspondra aux pseudo-classes `:invalid` et `:out-of-range`.

Voir la validation côté client (en-US) et `rangeUnderflow` (en-US) pour plus d'informations.

Pour l'élément `<meter>`, l'attribut `min` définit la limite numérique inférieure de la plage mesurée. Celle-ci doit être inférieure à la valeur minimale (attribut `max`), si elle est spécifiée. Dans les deux cas, si elle est omise, la valeur est égale à 1 par défaut.

| Élément | Syntaxe | Exemple |
| --- | --- | --- |
| `<meter>` | `<number>` | `<meter id="fuel" min="0" max="100" low="33" high="66" optimum="80" value="40"> at 40/100</meter>` |

### Impact sur `step`

Les valeurs de `min` et `step` définissent ce que sont les valeurs valides, même si l'attribut `step` n'est pas inclus, car `step` a par défaut la valeur `0`.

Nous ajoutons une grande bordure rouge autour des entrées invalides :


```css
input:invalid {
  border: solid red 3px;
}
```


Nous définissons ensuite une entrée avec une valeur minimale de 7,2, en omettant l'attribut « step », qui a la valeur 1 par défaut.


```html
<input id="myNumber" name="myNumber" type="number" min="7.2" value="8" />
```


Comme `step` a pour valeur 1 par défaut, les valeurs valides comprennent `7,2`, `8,2`, `9,2`, et ainsi de suite. La valeur 8 n'est pas valide. Comme nous avons inclus une valeur non valide, les navigateurs compatibles afficheront la valeur comme non valide.

S'il n'est pas explicitement inclus, `step` prend par défaut la valeur 1 pour `number` et `range`, et 1 type d'unité (seconde, semaine, mois, jour) pour les types d'entrée date/heure.

Accessibilité
-------------

Fournissez des instructions pour aider les utilisateurs à comprendre comment remplir le formulaire et utiliser les contrôles individuels du formulaire. Indiquez toute entrée obligatoire et facultative, les formats de données et toute autre information pertinente. Lorsque vous utilisez l'attribut `min`, assurez-vous que cette exigence minimale est comprise par l'utilisateur. Fournir des instructions à l'intérieur des `<label>` peut être suffisant. Si vous fournissez des instructions en dehors des étiquettes, ce qui permet un positionnement et une conception plus souples, envisagez d'utiliser `aria-labelledby` ou `aria-describedby`.

Spécifications
--------------

| Specification |
| --- |
| HTML Standard # the-min-and-max-attributes |
| HTML Standard # attr-meter-max |

Compatibilité des navigateurs
-----------------------------

### html.elements.input.min

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

### html.elements.meter.min

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Voir aussi
----------

* L'attribut `step`
* L'attribut `max`
* Les autres attributs de mesure : `low`, `high`, `optimum`
* Validation des contraintes (en-US)
* L'API Constraint validation (en-US)
* L'attribut JavaScript `validityState.rangeUnderflow` (en-US)
* La pseudo-classe `:out-of-range`
* L'élément `<input>`
* Les valeurs de l'attribut type `date`, `month`, `week`, `time`, `datetime-local`, `number` et `range`, et l'élément `<meter>`