|||
-|-|-|
| 概要 | Discourse Authentication Validations は、カスタムバリデーションをユーザーフィールドに追加して、サインアップモーダルでのユーザーフィールドの表示を切り替える機能を提供します。
| リポジトリリンク | https://github.com/discourse/discourse-authentication-validations
| インストールガイド | Discourseにプラグインをインストールする方法
概要
Discourse Authentication Validations は、カスタムバリデーションをユーザーフィールドに追加する機能を提供します。
カスタムユーザーフィールドには、必須フィールドの空の値の検出以外に、コアによって提供される validation はありません。このプラグインは、ユーザーフィールドごとに正規表現を定義し、提供された入力値に対してチェックする機能を追加します。
さらに、このプラグインは、サインアップモーダルでのユーザーフィールドの表示を切り替える機能を追加します。これにより、ユーザーフィールドを「連鎖」させ、前のユーザーフィールドに特定の値がある場合にのみユーザーフィールドが表示されるようになります。
基本設定
1. プラグインの有効化
Discourse Authentication Validations プラグインは、トグルまたは設定から有効にできます。どちらも admin/plugins ページからアクセスできます。
2. ユーザーフィールドにカスタムバリデーションを追加する
Discourse Authentication Validations プラグインが有効になった後、ユーザーフィールドフォームの下部に カスタムバリデーションを含める チェックボックスが表示されます。
チェックすると、さらに3つのフィールドが表示されます。
- 値バリデーション正規表現
- 表示値
- 対象ユーザーフィールド
カスタムバリデーションの追加
値バリデーション正規表現 フィールドに有効な正規表現を含めます。
サインアップフォームのユーザーフィールドの値は、含めた正規表現に対してテストされます。入力がカスタム正規表現の基準を満たさない場合、サインアップフォームは送信されません。
値なし(デフォルトのフォームバリデーションに依存)
不正な値
正しい値
ユーザーフィールドの連鎖
まず、ユーザーフィールドに 表示値 を含めます。
ユーザーフィールドに 表示値 が含まれている場合、添付された入力値が 表示値 の いずれか と一致するまで、その値の入力を監視します。その後、含まれる 対象ユーザーフィールド の表示を切り替え、表示可能にします。
次に、対象ユーザーフィールド の値を追加します。
対象ユーザーフィールド ドロップダウンには、利用可能なすべてのユーザーフィールドのリストが表示されます。選択したユーザーフィールドは、表示値 の対応する値によって表示が切り替わります。
高度な連鎖
複数のユーザーフィールドにカスタムバリデーションを追加することで、ユーザーフィールドを連鎖させることができます。
たとえば、次の値を持つ3つのユーザーフィールドがあるとします。
| 名前 | カスタムバリデーションあり | 表示値 | 対象ユーザーフィールド |
|---|---|---|---|
| 入力1 | true | show-field-two | 入力2 |
| 入力2 | true | show-field-three | 入力3 |
| 入力3 | false |
入力2と入力3は、入力1の「子」であるため、デフォルトで非表示になります。入力1に show-field-two の 表示値 が追加されると、入力2が表示されますが、入力3は引き続き非表示のままです。入力2の値が show-field-three になるまで非表示のままです。
表示値 と 対象クラス の適切な組み合わせにより、ユーザーフィールドを無限にネストさせることができます。










