Quick EditのValidation 適用の動作が変更

Jul 04, 2022
Detail ViewやTable Viewの2つで適用することができる「Quick Edit 」モード。Detail Viewに設定すると、Form Viewに遷移することなくDetail View上で値の変更が行える便利な機能の一つです。
これまで、Quick Editで入力、変更した値が、その他のカラムに設定しているValid ifの入力制限に違反していても値を保存することができましたが、この挙動に変更が加えられ、Quick Editでの入力値が、その他のカラムで設定されているvalid if の制約に抵触する場合、値を保存することができなくなりました。注意が必要です。

■ アナウンスメントへのリンク


■ 解説

このサンプルアプリには、Col1とCol2というNumber型カラムが有り、Col2に対し、Valid Ifを設定しています。Col2は常にCol1の値以上であることを求める簡単なValid If制限です。

まず、Col1 だけをQuick Editに設定した場合の動作です。

2022-06-23_10-40-51.gif 
Col1には、Valid Ifのルールが一切設定されていませんが、Col1にCol2以上の値を入力するとエラーが出て保存できない仕組みです。なお、サンプルでは表示させるエラーメッセ―ジをローカライズしています。デフォルトでは、Unable to Save Changes との英語表記ですが、その他のシステム用語と同様、UXのLocaizeから変更できます。

2022-06-23_10-41-37.jpg 

次にCol1とCol2双方をQuick Editに指定した場合の動きです。

2022-06-23_10-50-19.gif 
Col2にもValid if で指定しているエラーメッセージが同時に表示されていることがわかると思います。

また、いずれの場合でもValid ifのルールに抵触している状態ではデータは保存されず、別のViewに遷移し、同じレコードのDetail Viewに戻ってきた場合、変更前の値で表示されている点も確認できるかと思います。

Valid Ifを設定をより強固に運用し、データの精度を上げてくれる好ましい機能といった感想です。(本来あるべき姿)