当ブログに掲載しているサンプルは、すべて利用者の自己責任という形でお願いします。
ただし、明らかな不具合がある場合、ご連絡いただければ、訂正記事を出します。
また、こちらのサンプルは、別のサイト等への公開、転載は一切禁止しています。
どうしてもと言う場合は、筆者にあらかじめご連絡ください。

テクてく Lotus 技術者 Slack に参加しよう!

2008年5月15日木曜日

フォームのエラーチェック時の工夫

フォームで文書を作成する際、エラーチェックは誰でもやると思う。

LotusScriptを使ったり、入力有効式(「入力が有効」*1)を使ったりすると思う。
その際、保存したらすぐに画面を閉じて欲しいような時に、関数の書き方を間違えると、
変なメッセージが出てうっとうしいことがある。

何も考えないと、
@Command([FileSave]);
@Command([FileCloseWindow])
であろう。
ただし、これだと入力チェックでエラーがあると、「文書を保存しても良いですか?」という
お決まりのメッセージが表示されてしまう。

これを解消するには、「保存して閉じる」というアクションを次のように変更するだけでよい。

@If(@IsValid=1;@Do(@Command([FileSave];@Command([FileCloseWindow]));@Return(""))

@IsValid関数は、フォーム中の「入力有効式」を全部計算してくれる関数で、全部の結果が真なら1を、偽なら0を返す。
これなら別途フィールドを用意する必要もなく、入力必須のフィールドが増えても問題はない。

---------------------------------------------------------------------------------------------------------

*1 バージョンが変わるたびに、ここの名称が変わるのはいただけない。IBMさん、少しは考えてくれないかなぁ・・・

0 件のコメント: