Quick EditのValidation 適用の動作が変更
Jul 04, 2022Detail 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に設定した場合の動作です。
Col1には、Valid Ifのルールが一切設定されていませんが、Col1にCol2以上の値を入力するとエラーが出て保存できない仕組みです。なお、サンプルでは表示させるエラーメッセ―ジをローカライズしています。デフォルトでは、Unable to Save Changes との英語表記ですが、その他のシステム用語と同様、UXのLocaizeから変更できます。
次にCol1とCol2双方をQuick Editに指定した場合の動きです。
Col2にもValid if で指定しているエラーメッセージが同時に表示されていることがわかると思います。
また、いずれの場合でもValid ifのルールに抵触している状態ではデータは保存されず、別のViewに遷移し、同じレコードのDetail Viewに戻ってきた場合、変更前の値で表示されている点も確認できるかと思います。
Valid Ifを設定をより強固に運用し、データの精度を上げてくれる好ましい機能といった感想です。(本来あるべき姿)
これまで、Quick Editで入力、変更した値が、その他のカラムに設定しているValid ifの入力制限に違反していても値を保存することができましたが、この挙動に変更が加えられ、Quick Editでの入力値が、その他のカラムで設定されているvalid if の制約に抵触する場合、値を保存することができなくなりました。注意が必要です。
■ アナウンスメントへのリンク
■ 解説
このサンプルアプリには、Col1とCol2というNumber型カラムが有り、Col2に対し、Valid Ifを設定しています。Col2は常にCol1の値以上であることを求める簡単なValid If制限です。
まず、Col1 だけをQuick Editに設定した場合の動作です。
Col1には、Valid Ifのルールが一切設定されていませんが、Col1にCol2以上の値を入力するとエラーが出て保存できない仕組みです。なお、サンプルでは表示させるエラーメッセ―ジをローカライズしています。デフォルトでは、Unable to Save Changes との英語表記ですが、その他のシステム用語と同様、UXのLocaizeから変更できます。
次にCol1とCol2双方をQuick Editに指定した場合の動きです。
Col2にもValid if で指定しているエラーメッセージが同時に表示されていることがわかると思います。
また、いずれの場合でもValid ifのルールに抵触している状態ではデータは保存されず、別のViewに遷移し、同じレコードのDetail Viewに戻ってきた場合、変更前の値で表示されている点も確認できるかと思います。
Valid Ifを設定をより強固に運用し、データの精度を上げてくれる好ましい機能といった感想です。(本来あるべき姿)