--- id: 6143908b6aafb00a659ca189 title: Step 21 challengeType: 0 dashedName: step-21 --- # --description-- Keeping in mind best-practices for form inputs, give each `input` an appropriate `type` and `name` attribute. Then, give the first `input` a `placeholder` attribute. # --hints-- You should give the first `input` a `type` of `text`. ```js assert.equal(document.querySelectorAll('input')?.[0]?.type, 'text'); ``` You should give the second `input` a `type` of `email`. ```js assert.equal(document.querySelectorAll('input')?.[1]?.type, 'email'); ``` You should give the third `input` a `type` of `date`. ```js assert.equal(document.querySelectorAll('input')?.[2]?.type, 'date'); ``` You should give the first `input` an appropriate `name` attribute. ```js assert.isAtLeast(document.querySelectorAll('input')?.[0]?.name?.length, 1); ``` You should give the second `input` an appropriate `name` attribute. ```js assert.isAtLeast(document.querySelectorAll('input')?.[1]?.name?.length, 1); ``` You should give the third `input` an appropriate `name` attribute. ```js assert.isAtLeast(document.querySelectorAll('input')?.[2]?.name?.length, 1); ``` You should give the first `input` a `placeholder` attribute. ```js assert.notEmpty(document.querySelectorAll('input')?.[0]?.placeholder); ``` # --seed-- ## --seed-contents-- ```html