ふと2重クリックが気になって、Saveボタンを連打したら、いとも簡単に2重、3重の登録が行われました。
2重クリックで検索するとJavaScriptを用いた解説等がありましたが、極力コードを書かないローコードでやってみたので紹介します。
(Varidationでエラーがあった時等は、もう一度クリックできるようにしなければなりませんが、ちゃんと制御しないとそれがまた2重クリック発生の要因になります。)
Screenを右クリックし、Add Local Variableを選択。
名前をIsClick、Data TypeはBooleanにします。
SaveDetailのClient Actionを開き、Startのすぐ下にAssignを配置、クリックしたらIsClickがTrueになるようにします。
Startと配置したAssignの間に、Ifを配置し、ConditionにIsClickを入れ、TrueでEndに向かうようにします。
これで2重クリックが防止できます。
Form!.Valid?のFalseの線の上に、Assignを配置し、IsClickがFalseになるようにします。
これでValidationエラーがあった時は、もう一度Saveボタンが押せるようになります。
なお、これはSaveボタンが成功した時はIsClickをFalseに戻したりはしませんので、別の画面に遷移してしまうことが前提です。
高速クリックでテストしてみましたが、今のところ重複登録はされません。
(高橋名人がやったら分かりませんが)