ユーザーが新製品の作成の頂点ページをクラッシュさせないようにしようとしています。作成ページには、テキストフィールド:product_nameと数値フィールド:product_quantityがあります。
現在、product_quantityフィールドにテキストを入力して[保存]をクリックすると、次のエラーが発生します。
検証の処理中にエラーが発生しました。
ORA-01722:番号が無効です
エラーを調査しましたが、Apexで考えたのですが、数値フィールドを選択すると、ユーザーがテキストと数字のどちらを入力したかが検出されますか?
ユーザーがテキストを入力した場合に検証メッセージを表示する方法はありますか?それ以外の場合は、ユーザーが新しいエントリを保存できるようになりますか?
アップデート
私はそれが起こっている理由を知っていますが、それを解決する方法を知りません。
ページを再作成しましたが、機能しました。次に、ページ処理に2つの検証を追加しました。それを試してみると、最初の投稿でエラーが発生します。それらを無効にすると、再び機能します。検証では、NOT EXISTSを使用して、入力した値を追加する前に、入力した値がテーブルにすでに存在するかどうかを確認します。
数値が入力されているかどうかを確認した後、検証のみが開始された場合。関連するアイテムを見て検証を停止し、「ボタンが押されたとき」をオフにしましたが、それでも喜びはありません。
select 1 from MY_TABLE where column_name = :P6_TEXT_FIELD
ページ処理で作成した検証の前に、テキストボックスの検証(テキストが入力されているかどうかを確認する)を実行する方法はありますか?