Skip to content

Commit 0b2167f

Browse files
authored
Merge pull request #35 from nyl-auster/forms.md
Traduction forms.md
2 parents 89011b4 + c169ed8 commit 0b2167f

File tree

1 file changed

+66
-66
lines changed

1 file changed

+66
-66
lines changed

src/v2/guide/forms.md

+66-66
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,28 @@
11
---
2-
title: Form Input Bindings
2+
title: Liaisons sur les champs de formulaire
33
type: guide
44
order: 10
55
---
66

7-
## Basic Usage
7+
## Usage basique
88

9-
<p class="tip">**Cette page est en cours de traduction française. Revenez une autre fois pour lire une traduction achevée ou [participez à la traduction française ici](https://github.com/vuejs-fr/vuejs.org).**</p>You can use the `v-model` directive to create two-way data bindings on form input and textarea elements. It automatically picks the correct way to update the element based on the input type. Although a bit magical, `v-model` is essentially syntax sugar for updating data on user input events, plus special care for some edge cases.
9+
Vous pouvez utiliser la directive `v-model` pour créer une liaison de données bidirectionnelle sur les champs de formulaire (input, select ou textarea). Elle choisira automatiquement la bonne manière de mettre à jour l'élément en fonction du type de champ. Bien qu'un peu magique, `v-model` est essentiellement du sucre syntaxique pour mettre à jour les données lors des évènements de saisie utilisateur sur les champs, ainsi que quelques traitements spéciaux pour certains cas particuliers.
1010

11-
<p class="tip">`v-model` doesn't care about the initial value provided to an input or a textarea. It will always treat the Vue instance data as the source of truth.</p>
11+
<p class="tip">`v-model` ne prend pas en compte la valeur initiale (attribut "value") fournie pour un champ. Elle traitera toujours les données de l'instance de vue comme la source de vérité.</p>
1212

13-
<p class="tip" id="vmodel-ime-tip">For languages that require an [IME](https://en.wikipedia.org/wiki/Input_method) (Chinese, Japanese, Korean etc.), you'll notice that `v-model` doesn't get updated during IME composition. If you want to cater for these updates as well, use `input` event instead.</p>
13+
<p class="tip" id="vmodel-ime-tip">Pour les langues qui requièrent une [méthode de saisie (IME)](https://fr.wikipedia.org/wiki/M%C3%A9thode_d%27entr%C3%A9e) (chinois, japonais, coréen etc...), vous remarquerez que `v-model` ne sera pas mise à jour durant l'exécution de la méthode de saisie.</p>
1414

15-
### Text
15+
### Texte
1616

1717
``` html
18-
<input v-model="message" placeholder="edit me">
19-
<p>Message is: {{ message }}</p>
18+
<input v-model="message" placeholder="modifiez-moi">
19+
<p>Le message est : {{ message }}</p>
2020
```
2121

2222
{% raw %}
2323
<div id="example-1" class="demo">
24-
<input v-model="message" placeholder="edit me">
25-
<p>Message is: {{ message }}</p>
24+
<input v-model="message" placeholder="modifiez-moi">
25+
<p>Le message est : {{ message }}</p>
2626
</div>
2727
<script>
2828
new Vue({
@@ -34,21 +34,21 @@ new Vue({
3434
</script>
3535
{% endraw %}
3636

37-
### Multiline text
37+
### Texte multiligne
3838

3939
``` html
40-
<span>Multiline message is:</span>
40+
<span>Le message multiligne est :</span>
4141
<p style="white-space: pre">{{ message }}</p>
4242
<br>
43-
<textarea v-model="message" placeholder="add multiple lines"></textarea>
43+
<textarea v-model="message" placeholder="ajoutez plusieurs lignes"></textarea>
4444
```
4545

4646
{% raw %}
4747
<div id="example-textarea" class="demo">
48-
<span>Multiline message is:</span>
48+
<span>Le message multiligne est :</span>
4949
<p style="white-space: pre">{{ message }}</p>
5050
<br>
51-
<textarea v-model="message" placeholder="add multiple lines"></textarea>
51+
<textarea v-model="message" placeholder="ajoutez plusieurs lignes"></textarea>
5252
</div>
5353
<script>
5454
new Vue({
@@ -62,12 +62,12 @@ new Vue({
6262

6363

6464
{% raw %}
65-
<p class="tip">Interpolation on textareas (<code>&lt;textarea&gt;{{text}}&lt;/textarea&gt;</code>) won't work. Use <code>v-model</code> instead.</p>
65+
<p class="tip">L'interpolation sur les zones de texte (<code>&lt;textarea&gt;{{text}}&lt;/textarea&gt;</code>) ne fonctionnera pas. Utilisez <code>v-model</code> à la place.</p>
6666
{% endraw %}
6767

6868
### Checkbox
6969

70-
Single checkbox, boolean value:
70+
Checkbox seule, valeur booléenne :
7171

7272
``` html
7373
<input type="checkbox" id="checkbox" v-model="checked">
@@ -88,7 +88,7 @@ new Vue({
8888
</script>
8989
{% endraw %}
9090

91-
Multiple checkboxes, bound to the same Array:
91+
Checkboxes multiples, liées au même tableau (Array) :
9292

9393
``` html
9494
<input type="checkbox" id="jack" value="Jack" v-model="checkedNames">
@@ -98,7 +98,7 @@ Multiple checkboxes, bound to the same Array:
9898
<input type="checkbox" id="mike" value="Mike" v-model="checkedNames">
9999
<label for="mike">Mike</label>
100100
<br>
101-
<span>Checked names: {{ checkedNames }}</span>
101+
<span>Noms cochés : {{ checkedNames }}</span>
102102
```
103103

104104
``` js
@@ -119,7 +119,7 @@ new Vue({
119119
<input type="checkbox" id="mike" value="Mike" v-model="checkedNames">
120120
<label for="mike">Mike</label>
121121
<br>
122-
<span>Checked names: {{ checkedNames }}</span>
122+
<span>Noms cochés : {{ checkedNames }}</span>
123123
</div>
124124
<script>
125125
new Vue({
@@ -135,23 +135,23 @@ new Vue({
135135

136136

137137
``` html
138-
<input type="radio" id="one" value="One" v-model="picked">
139-
<label for="one">One</label>
138+
<input type="radio" id="one" value="Un" v-model="picked">
139+
<label for="one">Un</label>
140140
<br>
141-
<input type="radio" id="two" value="Two" v-model="picked">
142-
<label for="two">Two</label>
141+
<input type="radio" id="two" value="Deux" v-model="picked">
142+
<label for="two">Deux</label>
143143
<br>
144-
<span>Picked: {{ picked }}</span>
144+
<span>Choisi : {{ picked }}</span>
145145
```
146146
{% raw %}
147147
<div id="example-4" class="demo">
148-
<input type="radio" id="one" value="One" v-model="picked">
149-
<label for="one">One</label>
148+
<input type="radio" id="one" value="Un" v-model="picked">
149+
<label for="one">Un</label>
150150
<br>
151-
<input type="radio" id="two" value="Two" v-model="picked">
152-
<label for="two">Two</label>
151+
<input type="radio" id="two" value="Deux" v-model="picked">
152+
<label for="two">Deux</label>
153153
<br>
154-
<span>Picked: {{ picked }}</span>
154+
<span>Choisi : {{ picked }}</span>
155155
</div>
156156
<script>
157157
new Vue({
@@ -165,15 +165,15 @@ new Vue({
165165

166166
### Select
167167

168-
Single select:
168+
Select à choix unique :
169169

170170
``` html
171171
<select v-model="selected">
172172
<option>A</option>
173173
<option>B</option>
174174
<option>C</option>
175175
</select>
176-
<span>Selected: {{ selected }}</span>
176+
<span>Sélectionné : {{ selected }}</span>
177177
```
178178
{% raw %}
179179
<div id="example-5" class="demo">
@@ -182,7 +182,7 @@ Single select:
182182
<option>B</option>
183183
<option>C</option>
184184
</select>
185-
<span>Selected: {{ selected }}</span>
185+
<span>Sélectionné : {{ selected }}</span>
186186
</div>
187187
<script>
188188
new Vue({
@@ -194,7 +194,7 @@ new Vue({
194194
</script>
195195
{% endraw %}
196196

197-
Multiple select (bound to Array):
197+
Select à choix multiples (lié à un tableau) :
198198

199199
``` html
200200
<select v-model="selected" multiple>
@@ -203,7 +203,7 @@ Multiple select (bound to Array):
203203
<option>C</option>
204204
</select>
205205
<br>
206-
<span>Selected: {{ selected }}</span>
206+
<span>Sélectionné(s) : {{ selected }}</span>
207207
```
208208
{% raw %}
209209
<div id="example-6" class="demo">
@@ -213,7 +213,7 @@ Multiple select (bound to Array):
213213
<option>C</option>
214214
</select>
215215
<br>
216-
<span>Selected: {{ selected }}</span>
216+
<span>Sélectionné(s) : {{ selected }}</span>
217217
</div>
218218
<script>
219219
new Vue({
@@ -225,25 +225,25 @@ new Vue({
225225
</script>
226226
{% endraw %}
227227

228-
Dynamic options rendered with `v-for`:
228+
Options dynamiques générées avec `v-for` :
229229

230230
``` html
231231
<select v-model="selected">
232232
<option v-for="option in options" v-bind:value="option.value">
233233
{{ option.text }}
234234
</option>
235235
</select>
236-
<span>Selected: {{ selected }}</span>
236+
<span>Sélectionné : {{ selected }}</span>
237237
```
238238
``` js
239239
new Vue({
240240
el: '...',
241241
data: {
242242
selected: 'A',
243243
options: [
244-
{ text: 'One', value: 'A' },
245-
{ text: 'Two', value: 'B' },
246-
{ text: 'Three', value: 'C' }
244+
{ text: 'Un', value: 'A' },
245+
{ text: 'Deux', value: 'B' },
246+
{ text: 'Trois', value: 'C' }
247247
]
248248
}
249249
})
@@ -255,41 +255,41 @@ new Vue({
255255
{{ option.text }}
256256
</option>
257257
</select>
258-
<span>Selected: {{ selected }}</span>
258+
<span>Sélectionné : {{ selected }}</span>
259259
</div>
260260
<script>
261261
new Vue({
262262
el: '#example-7',
263263
data: {
264264
selected: 'A',
265265
options: [
266-
{ text: 'One', value: 'A' },
267-
{ text: 'Two', value: 'B' },
268-
{ text: 'Three', value: 'C' }
266+
{ text: 'Un', value: 'A' },
267+
{ text: 'Deux', value: 'B' },
268+
{ text: 'Trois', value: 'C' }
269269
]
270270
}
271271
})
272272
</script>
273273
{% endraw %}
274274

275-
## Value Bindings
275+
## Liaisons des attributs value
276276

277-
For radio, checkbox and select options, the `v-model` binding values are usually static strings (or booleans for checkbox):
277+
Pour les boutons radio, les cases à cocher et les listes d'options, les valeurs de liaison de `v-model` sont habituellement des chaînes de caractères statiques (ou des booléens pour une case à cocher) :
278278

279279
``` html
280-
<!-- `picked` is a string "a" when checked -->
280+
<!-- `picked` sera une chaîne de caractères "a" quand le bouton radio sera sélectionné -->
281281
<input type="radio" v-model="picked" value="a">
282282

283-
<!-- `toggle` is either true or false -->
283+
<!-- `toggle` est soit true soit false -->
284284
<input type="checkbox" v-model="toggle">
285285

286-
<!-- `selected` is a string "abc" when selected -->
286+
<!-- `selected` sera une chaîne de caractères "abc" quand l'option sera sélectionnée -->
287287
<select v-model="selected">
288288
<option value="abc">ABC</option>
289289
</select>
290290
```
291291

292-
But sometimes we may want to bind the value to a dynamic property on the Vue instance. We can use `v-bind` to achieve that. In addition, using `v-bind` allows us to bind the input value to non-string values.
292+
Mais parfois nous pouvons souhaiter lier la valeur à une propriété dynamique de l'instance de Vue. Nous pouvons réaliser cela en utilisant `v-bind`. De plus, utiliser `v-bind` nous permet de lier la valeur de l'input à des valeurs qui ne sont pas des chaînes de caractères.
293293

294294
### Checkbox
295295

@@ -303,9 +303,9 @@ But sometimes we may want to bind the value to a dynamic property on the Vue ins
303303
```
304304

305305
``` js
306-
// when checked:
306+
// lorsque c'est coché :
307307
vm.toggle === vm.a
308-
// when unchecked:
308+
// lorsque que c'est décoché :
309309
vm.toggle === vm.b
310310
```
311311

@@ -316,59 +316,59 @@ vm.toggle === vm.b
316316
```
317317

318318
``` js
319-
// when checked:
319+
// lorsque c'est choisi :
320320
vm.pick === vm.a
321321
```
322322

323-
### Select Options
323+
### Options de select
324324

325325
``` html
326326
<select v-model="selected">
327-
<!-- inline object literal -->
327+
<!-- objet littéral en ligne -->
328328
<option v-bind:value="{ number: 123 }">123</option>
329329
</select>
330330
```
331331

332332
``` js
333-
// when selected:
333+
// lorsque c'est sélectionné :
334334
typeof vm.selected // -> 'object'
335335
vm.selected.number // -> 123
336336
```
337337

338-
## Modifiers
338+
## Modificateurs
339339

340340
### `.lazy`
341341

342-
By default, `v-model` syncs the input with the data after each `input` event (with the exception of IME composition as [stated above](#vmodel-ime-tip)). You can add the `lazy` modifier to instead sync after `change` events:
342+
Par défaut, `v-model` synchronise le champ avec les données après chaque évènement `input` (à l'exception de l'exécution d'une méthode de saisie comme [mentionné plus haut](#vmodel-ime-tip)). Vous pouvez ajouter le modificateur `lazy` pour synchroniser après les évènements `change` à la place :
343343

344344
``` html
345-
<!-- synced after "change" instead of "input" -->
345+
<!-- synchronisé après le "change" au lieu du "input" -->
346346
<input v-model.lazy="msg" >
347347
```
348348

349349
### `.number`
350350

351-
If you want user input to be automatically typecast as a number, you can add the `number` modifier to your `v-model` managed inputs:
351+
Si vous voulez que la saisie utilisateur soit automatiquement convertie en nombre, vous pouvez ajouter le modificateur `number` à vos champs gérés par `v-model` :
352352

353353
``` html
354354
<input v-model.number="age" type="number">
355355
```
356356

357-
This is often useful, because even with `type="number"`, the value of HTML input elements always returns a string.
357+
C'est souvent utile, parce que même avec `type="number"`, la valeur des éléments input HTML retourne toujours une chaîne de caractères.
358358

359359
### `.trim`
360360

361-
If you want user input to be trimmed automatically, you can add the `trim` modifier to your `v-model` managed inputs:
361+
Si vous voulez que les espaces superflus des saisies utilisateur soient automatiquement retirés, vous pouvez ajouter le modificateur `trim` à vos champs gérés par `v-model` :
362362

363363
```html
364364
<input v-model.trim="msg">
365365
```
366366

367-
## `v-model` with Components
367+
## `v-model` avec les composants
368368

369-
> If you're not yet familiar with Vue's components, just skip this for now.
369+
> Si vous n'êtes pas encore familier avec les composants de Vue, passez cette section pour le moment.
370370
371-
HTML's built-in input types won't always meet your needs. Fortunately, Vue components allow you to build reusable inputs with completely customized behavior. These inputs even work with `v-model`! To learn more, read about [custom inputs](components.html#Form-Input-Components-using-Custom-Events) in the Components guide.
371+
Les types de champ standards HTML ne couvriront pas toujours vos besoins. Heureusement, les composants de Vue vous permettent de construire des champs avec un comportement complètement personnalisé. Ces champs fonctionnent même avec `v-model` ! Pour en apprendre plus, lisez la section ["champs personnalisés"](components.html#Form-Input-Components-using-Custom-Events) dans le guide des composants.
372372

373373

374374

0 commit comments

Comments
 (0)