editviewdefs.php
アカウントをフォルダーにコピーしcustom
、カスタム フィールド定義id_number
をこれに変更します。
array(
'name' => 'id_number',
'displayParams' =>
array (
'field' =>
array (
'onChange' => 'check_is_duplicate(this);',
),
),
),
JavaScript 関数を作成するcheck_is_duplicate
function check_is_duplicate(obj) {
// Call a script via Ajax. Pass values for id and id_number with the request.
if (o.responseText > 0) {
alert('duplicate');
document.getElementById('SAVE').disabled = true;
} else {
document.getElementById('SAVE').disabled = false;
}
}
ajax リクエスト経由で呼び出されるスクリプトを作成する必要があります。
そのスクリプトでは、次のようなクエリを実行する必要があります-
SELECT COUNT(*) AS count FROM accounts
WHERE deleted = 0 AND id != {$record} AND id_number = {$id_number}
クエリを実行し、カウントを返します。
beforeSave
その後、ロジックフックを使用してサーバー側から重複チェックを保存します。