0

登録フォームに1つのフィールドが追加されたDrupal 7があります-可能な値Robot / Male / Femaleのリスト: ここに画像の説明を入力

# select * from field_data_field_gender;
 entity_type | bundle | deleted | entity_id | revision_id | language | delta | field_gender_value
-------------+--------+---------+-----------+-------------+----------+-------+--------------------
 user        | user   |       0 |         6 |           6 | und      |     0 | Male
 user        | user   |       0 |         5 |           5 | und      |     0 | Male
 user        | user   |       0 |         7 |           7 | und      |     0 | Female
 user        | user   |       0 |         1 |           1 | und      |     0 | Male

最初の値Robotはデフォルト値で、スパム ロボットがサイトに登録されないようにします。新しいユーザーがデフォルトのRobot値で登録 Web フォームを送信したときに、ユーザー登録をキャンセルする方法はありますか? (つまり、MaleFemaleの値のみが許可されます)。

コアの Trigger モジュールを見てきましたが、適切なものが見つかりません。

hook_user_presaveおよびhook_user_insert API ドキュメントを見ましたが、進行中のユーザー登録をキャンセルする方法がありません。(これらのメソッドから特別な値を返すことでそれを行うことを期待していました...)

ありがとうございました!アレックス

4

2 に答える 2

1

hook_form_alterを使用して、確認するフィールドの値を確認する新しい検証関数を追加します。

于 2011-03-06T14:12:24.097 に答える
0

drupal モジュールhttp://drupal.org/project/captchaを使用して、独自のキャプチャ テストを実装することもできます。

これがあなたがしていることです。これにより、作成しているテストの移植性が少し向上します。

于 2011-03-07T08:09:30.447 に答える