> ## Documentation Index
> Fetch the complete documentation index at: https://auth0.generaltranslation.app/llms.txt
> Use this file to discover all available pages before exploring further.

# データ検証

> データ検証フローアクションを構成して、ワンタイムパスワード（OTP）を生成し、メールアドレスを検証する方法を説明します。

このデータ検証アクションのリストは、メールアドレスを検証してワンタイムパスワードを生成・検証できるようにするものです。

<div id="generate-one-time-password">
  ## ワンタイムパスワードを生成する
</div>

メール、SMS、その他のメッセージアプリを使って送信できる、有効時間5分の数値コードを生成します。

<Frame>
  <img src="https://mintcdn.com/generaltranslationinc/P5C2FvJW5xWCh6NI/docs/images/ja-jp/cdy7uua7fh8z/1h69FWzZwk9beKKjB4Cq38/16aa515e61cc6e9ebdfd0849201e3141/generate-one-time-password.png?fit=max&auto=format&n=P5C2FvJW5xWCh6NI&q=85&s=6a1b74bd8181fb212075c92db309d9ea" alt="" width="1404" height="631" data-path="docs/images/ja-jp/cdy7uua7fh8z/1h69FWzZwk9beKKjB4Cq38/16aa515e61cc6e9ebdfd0849201e3141/generate-one-time-password.png" />
</Frame>

<div id="input-settings">
  ### 入力設定
</div>

<table class="table">
  <thead>
    <tr>
      <th><b>パラメーター</b></th>
      <th><b>説明</b></th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>参照値（必須）</td>
      <td>生成したコードは電話番号、メールアドレスや他の値にバインドできます。</td>
    </tr>

    <tr>
      <td>コードの長さ（必須）</td>
      <td>生成されたコードの桁数です。</td>
    </tr>
  </tbody>
</table>

<div id="output-object">
  ### 出力オブジェクト
</div>

<table class="table">
  <thead>
    <tr>
      <th><b>プロパティ</b></th>
      <th><b>種類</b></th>
      <th><b>説明</b></th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>`code`</td>
      <td>文字列</td>
      <td>生成されたコードです。</td>
    </tr>
  </tbody>
</table>

<div id="output-object-example">
  ### 出力オブジェクトの例
</div>

```json lines theme={null}
{
  "code": "███",
}
```

<div id="verify-one-time-password">
  ## ワンタイムパスワードを検証する
</div>

提供したワンタイムパスワードコードが有効かどうかを検証します。

<Frame>
  <img src="https://mintcdn.com/generaltranslationinc/JoMgZsgQxj2_Gov3/docs/images/ja-jp/cdy7uua7fh8z/3bkT8QDN4dcl0YHTrSOIGj/9698a07f55353a11ca98164377cd4217/verify-otp.png?fit=max&auto=format&n=JoMgZsgQxj2_Gov3&q=85&s=fa61f307edb1cb57304730c269ce5ae1" alt="" width="1404" height="646" data-path="docs/images/ja-jp/cdy7uua7fh8z/3bkT8QDN4dcl0YHTrSOIGj/9698a07f55353a11ca98164377cd4217/verify-otp.png" />
</Frame>

<div id="input-settings">
  ### 入力設定
</div>

<table class="table">
  <thead>
    <tr>
      <th><b>パラメーター</b></th>
      <th><b>説明</b></th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>参照値（必須）</td>
      <td>ワンタイムパスワード生成アクションで構成したのと同じ参照値を使用します。</td>
    </tr>

    <tr>
      <td>コードの長さ（必須）</td>
      <td>生成されたコードの桁数です。</td>
    </tr>
  </tbody>
</table>

<div id="output-object">
  ### 出力オブジェクト
</div>

<table class="table">
  <thead>
    <tr>
      <th><b>プロパティ</b></th>
      <th><b>タイプ</b></th>
      <th><b>説明</b></th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>`有効`</td>
      <td>ブール値</td>
      <td>指定されたコードが有効かどうかを示し、`true`または`false`の値を返します。</td>
    </tr>

    <tr>
      <td>`result`</td>
      <td>文字列</td>

      <td>
        指定されたコードに基づき、以下のように異なる結果コードを返します。

        <ul>
          <li> `MISSING（欠落）：` コードが指定されていません。</li>
          <li> `EXPIRED（有効期限切れ）：` 指定されたコードは有効期限切れです。</li>
          <li> `VALID（有効）：` 指定されたコードは有効です。</li>
          <li> `UNEQUAL（不一致）：` 指定されたコードは無効です。</li>
        </ul>
      </td>
    </tr>
  </tbody>
</table>

<div id="output-object-example">
  ### 出力オブジェクトの例
</div>

```json lines theme={null}
{
  "valid": false,
  "result": "UNEQUAL"
}
```

```json lines theme={null}
{
  "valid": true
}
```

<div id="verify-email-address">
  ## メールアドレスの検証
</div>

提供されたメールアドレスに対して、選択されたいくつかの検証ルールを実行します。

<Frame>
  <img src="https://mintcdn.com/generaltranslationinc/tqPYu6gkIVBTtEtD/docs/images/ja-jp/cdy7uua7fh8z/6qkqny1hhObFalHwdEG342/1a2e18195b29102c3f68744f42277917/verify-email.png?fit=max&auto=format&n=tqPYu6gkIVBTtEtD&q=85&s=6a7765b97da86ab06481569a7858e7d7" alt="" width="1404" height="1165" data-path="docs/images/ja-jp/cdy7uua7fh8z/6qkqny1hhObFalHwdEG342/1a2e18195b29102c3f68744f42277917/verify-email.png" />
</Frame>

<div id="input-settings">
  ### 入力設定
</div>

<table class="table">
  <thead>
    <tr>
      <th><b>パラメーター</b></th>
      <th><b>説明</b></th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>Email（メール）（必須）</td>
      <td>確認するメールアドレスです。</td>
    </tr>

    <tr>
      <td>（MXレコードを必須にする）</td>
      <td>MXレコードを必須にします。ドメインにMXレコードがない場合、メールサーバーはそのドメインに対してメールの送信先を判断できません。</td>
    </tr>

    <tr>
      <td>Block free email providers（無料メールプロバイダーをブロックする）</td>
      <td>@gmail.comや@hotmail.comなどの無料メールプロバイダーをブロックします。</td>
    </tr>

    <tr>
      <td>Block disposable email providers（使い捨てメールプロバイダーをブロックする）</td>
      <td>@mailnator.comや@maildrop.ccなどの使い捨てメールプロバイダーをブロックします。</td>
    </tr>

    <tr>
      <td>Block email account aliases（メールアカウントのエイリアスをブロックする）</td>
      <td>[jane.doe+alias@gmail.com](mailto:jane.doe+alias@gmail.com)など、メールアカウントのエイリアスをブロックします。</td>
    </tr>

    <tr>
      <td>Allowlist domains（許可リストのドメイン）</td>
      <td>リストにある承認されたドメインからのメールのみを許可します。</td>
    </tr>

    <tr>
      <td>Blocklist domains（ブロックリストのドメイン）</td>
      <td>特定のメールドメインをブロックします。</td>
    </tr>
  </tbody>
</table>

<div id="output-object">
  ### 出力オブジェクト
</div>

<table class="table">
  <thead>
    <tr>
      <th><b>プロパティ</b></th>
      <th><b>種類</b></th>
      <th><b>説明</b></th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>`valid`</td>
      <td>ブール値</td>
      <td>メールが検証ルールを満たしたかによって、`true`または`false`を返します。</td>
    </tr>

    <tr>
      <td>`cause`</td>
      <td>文字列</td>

      <td>
        有効なプロパティが`false`の場合は、そのメールが満たしていない最初のルールについて以下の参照を返します。

        <ul>
          <li> `MISSING_MX_RECORD`：メールのドメインにMXレコードがありません。</li>
          <li> `FREE_EMAIL`：メールのドメインが無料メールプロバイダーです。</li>
          <li> `DISPOSABLE_EMAIL`：使い捨てメールアドレスです。</li>
          <li> `BLOCKLISTED`：メールのドメインがブロックリストのドメイン設定に含まれています。</li>
          <li> `NOT_ALLOWED`：メールのドメインが許可リストのドメイン設定に含まれていません。</li>
        </ul>
      </td>
    </tr>
  </tbody>
</table>

<div id="output-object-example">
  ### 出力オブジェクトの例
</div>

```json lines theme={null}
{
  "valid": false,
  "cause": "FREE_EMAIL"
}
```

```json lines theme={null}
{
  "valid": true,
  "cause": null
}
```
