
-
カスタムデータ構造のあるフィールド
- 例 :オブジェクト、文字列配列
-
サードパーティーのウィジェットを使用するフィールド
- 例 :Google Addressのオートコンプリート
- 他のフィールドを表示または非表示するロジックのあるフィールド
- 値の取得に外部のAPIが必要なフィールド
カスタムフィールドの設定
カスタムフィールドには以下の設定があります。Params
カスタムフィールドのソースコードで参照するキーと値のペアを追加します。キーと値のペアはフィールド変数から含めることができます。
パラメーター値は、フォームが
init()メソッドを呼び出した後でのみ使用できます。symbol={{fields.symbol}}とseparator=,を使用して、カスタムフィールドの設定が入力されています。
ソースコード
カスタムフィールドにJavaScriptコードを追加します。
JSONスキーマ
カスタムフィールドはデフォルトで任意の値形式を受け付けます。ただし、JSONスキーマを使用すると、サーバー側で値を検証することができます。
CSS
カスタムフィールドにCSSコードを追加します。
カスタムフィールドハンドラー
以下のハンドラーを使用すると、フィールドにカスタムの動作を追加することができます。init(params?)
フィールドの作成時に一度だけ呼び出され、Params設定で構成済みのprams値を渡します。 HTML要素、文字列または空の値を返します。update(params?)
ユーザーがフォームにある同じ手順を再表示したときに呼び出されます。 このオプションは、UIロジックの再レンダリングや、変更されたかもしれないparams値の更新が必要な場合に便利です。onFocus()
フォーカスがカスタムフィールドのHTML要素に移動すると呼び出されます。onBlur()
フォーカスがカスタムフィールドのHTML要素から外れると呼び出されます。getValue()
フォームがカスタムフィールド値の取得を1回以上必要とする場合に呼び出されます。これは通常、ユーザーがフォームの手順を送信したときに実行されます。クライアント側の検証が必要な場合には、エラーをスローして、ユーザーにカスタムエラーメッセージを表示することができます。 例:block()
カスタムフィールドをブロックしなければならない場合に呼び出されます。これは通常、ユーザーがフォームの手順を送信し、データが当方のバックエンドで処理されたときに実行されます。unblock()
カスタムフィールドをブロック解除しなければならない場合に呼び出されます。これは通常、ユーザーがフォームの手順を送信した後か、検証エラーにより当方のバックエンドでデータの処理が停止したときに実行されます。getScripts()
init()メソッドが呼び出される前に読み込みが終了することをフォームが保証するURLのリストを返します。
コンテキストオブジェクト
コンテキストオブジェクトを渡す際には、以下のメソッドを使用して、フォームやコンポーネントのロジックを扱うことができます。カスタムメソッド
context.custom.getValue()
現在のカスタムフィールドの値を受け取ります。context.custom.setValue()
現在のカスタムフィールドに値を設定します。context.custom.createUid()
現在のカスタムフィールドの一意の識別子を返します。context.custom.getParams()
現在のカスタムフィールドの設定からパラメーターを受け取ります。パラメーター値は、フォームが
init()メソッドを呼び出した後でのみ使用できます。フォームメソッド
フォームとやり取りして他のフィールドから値を集めたり、他のフォームの手順に移動したりしなければならない場合には、以下のフォームメソッドを使用することができます。context.form.getId()
現在のフォームの一意の識別子を返します。context.form.getRoot()
現在のフォームのルートHTML要素を返します。context.form.goForward()
1つ次のフォームの手順に移動します。context.form.goPrevious()
1つ前のフォームの手順に移動します。context.form.isValid()
フォームがクライアント側の検証にすべて合格した場合にブール値を返します。context.form.validate()
続行する前にクライアント側の検証を用いて既存のフィールド値を評価します。フィールドが検証に合格しない場合には、エラーメッセージを表示します。context.form.getAllHiddenFields()
すべての隠しフィールド値を含むオブジェクトを返します。context.form.setHiddenField(id, value)
非表示フィールドの値を設定します。context.form.getValues()
すべてのフィールドおよび隠しフィールド値を含むオブジェクトを返します。context.form.getField(id)
指定したフィールドのインスタンスを返します。getNode() | trueフィールドのルートHTML要素を返します。getValue()フィールド値を返します。setRequired(boolean)フィールドを必須または任意に設定します。
setRequired()は、クライアント側でのみ必須フィールドを設定または設定解除します。たとえば、あるフィールドの必須設定を解除しても、フィールド設定で必須としてマークされていた場合、フィールドに値がないとフォームはエラーを返します。カスタムフィールドの例
このセクションでは、フォームに追加できるカスタムフィールドの例を説明します。範囲入力カスタムフィールド
あらかじめ設定された範囲からの値を返すカスタムフィールドです。
色入力カスタムフィールド
色の16進数値を返すカスタムフィールドです。
APIからの値を用いたオートコンプリート入力カスタムフィールド
サードパーティーのAPIを使用したオートコンプリート値を返すカスタムフィールドです。
APIからの値を用いた動的ドロップダウンカスタムフィールド
サードパーティーのAPIを使用した動的ドロップダウンリストからの値を返すカスタムフィールドです。
+ボタンでフィールドを追加できる動的入力カスタムフィールド
ユーザーがフィールドを追加できるカスタムフィールドです。