[DocFlow] 入力に対するバリデーション・ルールの設定
入力値が想定された値かどうかを検証(バリデーション)ルールをJavaScriptで記述出来るようになりました。JavaScript内では属性キーワードの値や、他の入力データの値などを参照して検証することができます。
仕様
- 更新前にバリデーションを実行出来るようにし、バリデーションでエラーがある場合には更新しない。
- バリデーション結果はログとして出力するのと同時に、ソースのドキュメントにコメントを埋め込む形でテンポラリファイルを生成して、どの項目で発生しているのかが分かるようにする。(⇒フィードバックファイル)
バリデーションルール
- バリデーションルールはJavaScriptで記述する。
- 入力の各項目はitem('項目名')でアクセスする。
- なお _$source$_.item('項目名') でも結果は同じ。
- ルールの表記方式
validateEquals('ソースの項目名', 'コメント', オブジェクト);
validateNotEquals('ソースの項目名', 'コメント', オブジェクト);
validateNotNull('ソースの項目名', 'コメント');
validateNotNull('ソースの項目名', 'コメント', オブジェクト);
validateNull('ソースの項目名', 'コメント');
validateNull('ソースの項目名', 'コメント', オブジェクト);
validateTrue('ソースの項目名", 'コメント');
validateTrue('ソースの項目名", 'コメント', boolean);
validateFalse('ソースの項目名', 'コメント');
validateFalse('ソースの項目名', 'コメント', boolean);
validateEmpty('ソースの項目名', 'コメント');
validateEmpty('ソースの項目名', 'コメント', String);
validateNotEmpty('ソースの項目名', 'コメント');
validateNotEmpty('ソースの項目名', 'コメント', String);
...
例)
validateNotNull('顧客名', '顧客名が入力されていません。');
- 他の表形式の入力の項目を参照する場合、lookup()関数を利用する。
- 他のテキスト形式の入力の項目を参照する場合、source()関数を利用する。
- 属性キーワードはグローバル変数として参照する。
- 属性キーワードはJavaScriptの変数名として利用できるように正規化(normalize)される。正規化(normalize)のルールは以下の通り。
- 禁足文字を_に置き換える。
( ) ( )
- 先頭が数字の場合、その前に_を付ける。
- 予約語と被る場合、その前に_を付ける。
Released on 2022-09-30