ユーザーが事前登録のためにメールアドレスを入力する入力フィールドが 1 つしかない単純なページがあります。しかし、ページ レイアウトは、ユーザーがメールの左側の部分だけを挿入できるように設計されています。(特定の電子メール ドメインを持つユーザーのみを受け入れます)。
したがって、ページ レイアウト (メール入力部分) は次のようになります。
[入力ボックス] @ defaultdomain.com
問題は、DB のそれぞれのテーブルにマップされた PreRegistration というモデルを作成したことです。私が今のところそこに保存しているのは、挿入された電子メールだけです。したがって、モデルのバリデータには次のコードがあります。
public $validate = array(
'email' => array(
'required' => array(
'rule' => array('notEmpty'),
'message' => 'Email field cannot be empty'
),
'email' => array(
'rule' => array('email'),
'message' => 'The email is not valid.'
)
)
);
そしてビューで:
echo $this->Form->input('email', array(
'class' => 'input_box',
'value' => $input_box_default_text,
'id' => 'email',
'label' => false,
'div' => false
));
問題は、バリデーターがテキスト フィールドを検証していて、ユーザーがドメインを含む通常の電子メールを挿入することを期待していることです (当然です)。Cakephp がデフォルト ドメインと連携してテキスト フィールドを検証するにはどうすればよいですか?