---
id: 60f81616cff80508badf9ad5
title: ステップ 21
challengeType: 0
dashedName: step-21
---

# --description--

この時点で、フォームを送信することができます。 ですが、送信しても特に何も起こらないことに気づいたかもしれません。

フォームをよりインタラクティブにするため、1 つ目の `fieldset` 内の `input` 要素に `required` 属性を追加してください。

これで、必須のフィールドを記入せずにフォームを送信しようとするとエラーメッセージが表示されるようになりました。

# --hints--

1 つ目の `input` 要素に `required` 属性を追加してください。

```js
assert.equal(document.querySelector('input')?.required, true);
```

2 つ目の `input` 要素に `required` 属性を追加してください。

```js
assert.equal(document.querySelectorAll('input')?.[1]?.required, true);
```

3 つ目の `input` 要素に `required` 属性を追加してください。

```js
assert.equal(document.querySelectorAll('input')?.[2]?.required, true);
```

4 つ目の `input` 要素に `required` 属性を追加してください。

```js
assert.equal(document.querySelectorAll('input')?.[3]?.required, true);
```

`submit` の `input` には `required` 属性を追加してはいけません。

```js
assert.equal(document.querySelector('input[type="submit"]')?.required, false);
```

# --seed--

## --seed-contents--

```html
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8">
    <title>Registration Form</title>
    <link rel="stylesheet" href="styles.css" />
  </head>
  <body>
    <h1>Registration Form</h1>
    <p>Please fill out this form with the required information</p>
    <form method="post" action='https://register-demo.freecodecamp.org'>
--fcc-editable-region--
      <fieldset>
        <label for="first-name">Enter Your First Name: <input id="first-name" type="text" /></label>
        <label for="last-name">Enter Your Last Name: <input id="last-name" type="text" /></label>
        <label for="email">Enter Your Email: <input id="email" type="email" /></label>
        <label for="new-password">Create a New Password: <input id="new-password" type="password" /></label>
      </fieldset>
      <fieldset></fieldset>
      <fieldset></fieldset>
      <input type="submit" value="Submit" />
--fcc-editable-region--
    </form>
  </body>
</html>
```

```css
body {
  width: 100%;
  height: 100vh;
  margin: 0;
  background-color: #1b1b32;
  color: #f5f6f7;
}

label {
  display: block;
  margin: 0.5rem 0;
}

```
