0

jqueryのオートコンプリートを使用しています。値は、SQLを介してSQLを介してajax呼び出しに取り込まれます。私はこのフィールドの入力をオートコンプリートリストにあるものだけに制限したいと思います。意味は、SQLが 'A、B、C'を返した場合、値Dは受け入れられません。Jqueryオートコンプリートフィールドの値

追加のクエリをバックエンドにすることでこれを行うことができますが、これを実現するためのより簡単な方法と効率的な方法があるのだろうかと思います。

+0

したがって、ユーザー入力を検証しますか? –

+0

はい、それは私が起こりたいと思う理想的です。私は、ドロップダウンを使用してlsitは良いですが、オートコンプリートの入力はちょうど審美的に私のために良いと思う@AndrosRex –

答えて

0

はい、クライアント側でユーザー確認を行うことができます。送信された値が表示された値のどれにも対応していないかどうかを簡単に確認できます。何らかのエラーメッセージが表示され、.preventDefault()を使用してデータの送信を停止します。ただし、これはユーザーエクスペリエンスを向上させるためのものです。それでも誰もJSコードを変更して無効なデータを送信することができます。必ずしもこの検証を行う必要はありません。ユーザーはそれを使わなくても管理できます。

これは、セキュリティの目標とバグの不在による検証がサーバー側で行われる理由です。無効なデータを送信してユーザーがテーブルやデータベース全体に損傷を与える可能性がある場合は、サーバー側でもそれを確実に検証する必要があります。

+0

現在、私はそれを確認する方法は、サブミットされた値は、 。私は、単純なjs/jquery関数があるかどうか疑問に思っていた.onlySourceFieldsのような:真、または何か似ている(多分javascript/jquery関数であっても、必ずしも別のクエリを実行する必要はない。私は私のデータベースの不必要な負荷かもしれないチェックする別のクエリをやっていると思う。これを行う方法が他にない場合は、現在の実装に留めておきます。 Thx –

+0

@Bennjoe Mordeno現在のオートコンプリートから結果を保持するJSコードのリストを持っていないのはなぜですか?検証中は、入力値が何かに一致するかどうかをテストするだけです。 –

関連する問題