DataMapper ORMで CodeIgniter 2 を使用しています。ユーザーの場合、データベースのフィールドではないフィールド (およびその他のフィールド) があります (テーブルにconfirm_password
はこれらのフィールドはありません) が、サインアップ フォームに表示するためだけに存在します。confirm_email
users
confirm_password
これらの 2 つのフィールド (およびconfirm_email
) がフォームに存在しないバックエンドもあります。
public $validation = array(
'first_name' => array(
'label' => 'lang:common_first_name',
'rules' => array('required', 'trim')
),
'last_name' => array(
'label' => 'lang:common_last_name',
'rules' => array('trim')
),
'email' => array(
'label' => 'lang:common_email',
'rules' => array('required', 'trim', 'unique', 'valid_email')
),
'confirm_email' => array(
'label' => 'lang:common_confirm_email',
'rules' => array('matches' => 'email')
),
'password' => array(
'label' => 'lang:common_password',
'rules' => array('required', 'min_length' => 6, 'encrypt')
),
'confirm_password' => array(
'label' => 'lang:common_confirm_password',
'rules' => array('matches' => 'password')
)
);
confirm_email
またはconfirm_email
フィールドを必須にしないと、バリデーターは一致ルールをトリガーしません。それらをrequiredにすると、これらのフィールドを持たないバックエンドがconfirm_email
andconfirm_password
をトリガーしますが、そうすべきではありません。
- アプリケーションに含める可能性のあるすべての検証ルールを (もちろんモデルに) 含めるのが最善でしょうか?
- バックエンドにユーザーを追加するときに、コントローラーでこれらのルールを変更する (たとえば、配列
confirm_email
からインデックスを削除する) ことは良い考え ですか?$validation
どんな考えでも感謝します。ありがとう