# 検証ルールを設定する

## はじめに

検証ルールは、ユーザーが入力するデータが期待された形式や条件を満たしていることを確認するために利用します。

## フィールドの検証ルールはどこで設定できますか

### コレクションフィールドの検証ルール設定

ほとんどのフィールドで検証ルールの設定が可能です。フィールドに検証ルールを設定すると、データ送信時にバックエンドでの検証が実行されます。フィールドのタイプによって、サポートされる検証ルールは異なります。

- **日付フィールド**

  ![20251028225946](https://static-docs.nocobase.com/20251028225946.png)

- **数値フィールド**

  ![20251028230418](https://static-docs.nocobase.com/20251028230418.png)

- **テキストフィールド**

  テキストフィールドは、テキストの長さを制限できるだけでなく、より詳細な検証のためにカスタム正規表現もサポートしています。

  ![20251028230554](https://static-docs.nocobase.com/20251028230554.png)

### フィールド設定のクライアントサイド検証ルール

フィールド設定で設定された検証ルールは、フロントエンド検証をトリガーし、ユーザー入力が規定に準拠していることを確認します。

対応するコレクションフィールドにすでに検証ルールが設定されている場合、それらのルールは検証設定の **サーバーサイドフィールド検証ルール** に表示されます。これらはデータソースのフィールド設定から継承され、ここでは読み取り専用です。変更する必要がある場合は、データソース → コレクション設定でコレクションフィールドを編集してください。

**クライアントサイド検証ルール** に追加したルールは、現在のフィールドコンポーネントにのみ適用されます。コレクションフィールドの設定は変更されません。両方のルールが存在する場合、NocoBase は継承されたフィールドルールとクライアントサイド検証ルールを同時に適用します。

![20251028230105](https://static-docs.nocobase.com/20251028230105.png)

![20251028230255](https://static-docs.nocobase.com/20251028230255.png)

**テキストフィールド**は、特定のフォーマット要件を満たすために、カスタム正規表現による検証もサポートしています。

![20251028230903](https://static-docs.nocobase.com/20251028230903.png)
