現在、 jQueryバリデータープラグインに基づいてフォーム検証スクリプトを作成しています。そのため、最小長、最大長、必須などの単純な構成が簡単になりました。
その後、クライアント側からユーザー名/電子メールで可用性を確認することにしたのでremote
、オプションIを使用する必要がありました。ルール配列を作成するときに指定する必要があります。そのため、ルールを作成するときに、データをphpスクリプトに送信し、入力フィールドが使用可能かどうかを確認する必要がありました。
ただし、複数の入力フィールドの可用性を確認するため、すべてのフィールドで再利用する関数を(クライアント側で)作成しました。この関数には、入力フィールドのIDとMySQLテーブルの名前が必要です。明確にするために、関数は次のとおりです。
注:
1.check_inputは、入力フィールドの値とテーブルを取得してチェックするphpスクリプトであり、jsonでエンコードされたブール値を返します。テーブルに一致するものがない場合はtrue、それ以外の場合はfalseを返します。
function check_input(input, table){
$.ajax({
type:"POST",
url:site_url+"site/check_input",
data:{
input:input,
table:table,
}
}).done(function(resp){
var is_unique = JSON.parse(resp);
return is_unique;
});
}
この関数は、remote
オプションをに設定することで呼び出されます
check_input($('#field').val(), 'table.column');
。
ご覧のとおり、MySQLテーブルをクライアント側から指定する必要があります。すべてのユーザー(良いユーザーと悪いユーザー)がこれを確認できますが、これは安全ではない、または悪い習慣と見なされますか?
いいえの場合、可用性を確認するための適切な方法は何ですか?