1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

IM-FormaDesigner クライアントサイドスクリプトで入力チェックエラー時の強調表示をON OFFする

Last updated at Posted at 2019-02-28

前提

  • intra-mart Accel Platform
  • IM-FormaDesiner / IM-BIS
  • クライアントサイドで操作したい

やりたいこと

クライアントサイドスクリプトでこの強調表示のON OFFをしたい
入力チェックエラー時の強調表示とは下図の赤枠と「!」アイコンのこと
formaエラー.JPG

エラー表示API

非公開APIだが下記のようなAPIがある
非公開なので次のバージョンから使えなくなっても泣かない
動作の保証はないので注意

エラー表示API

formaItems.%画面アイテムID%.AcceptError({"inputId":"%フィールド識別ID%"});

エラー表示クリアAPI

formaItems.%画面アイテムID%.ClearError({"inputId":"%フィールド識別ID%"});

画面アイテムIDは下記のようなもの。画面アイテムの種類を指定する
大体使えるはずだけどグリッドテーブルや明細テーブルだと使い方が違うはずだが、この辺りは未確認

product_72_number
product_72_textarea

画面アイテムIDは下記資料を見ると大体わかるはず

IM-BIS クライアントサイドスクリプトAPI

API使用例

画面アイテム:文字列 フィールド識別ID:textbox_1のアイテムのエラー表示ONにするサンプル

エラー表示ON.js
formaItems.product_72_textbox.AcceptError({"inputId":"textbox_1"});

画面アイテム:数値 フィールド識別ID:number_1のアイテムのエラー表示OFFにするサンプル

エラー表示OFF.js
formaItems.product_72_number.ClearError({"inputId":"number_1"});

スクリプトアイテムやアクション設定のカスタムスクリプトで上記APIを使うとクライアントサイドスクリプトでエラー表示ON OFFが可能となる

注意点

サーバーサイドにてエラー表示される場合、画面上部にエラーメッセージが表示されるがこちらはAPIでの操作は不能と見られる
domを直にいじる以外に方法はないはず

追記 2019/07/16

非公開APIで以下のようなAPIを発見。
エラークリアとクライアントサイドでの入力チェック処理

エラー表示更新.js
// エラークリア
formaClearError();
// 入力チェック
inputCheck('1');

クリア→チェックの順番で実行すると、クライアントサイドだけでエラー表示を最新の状態にできる。
詳しくは下記参照
IM-FormaDesigner / IM-BIS クライアントサイドスクリプトAPIまとめ
https://qiita.com/doriburu/items/c3d4660233b622e2e947

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?