DataMapper ORMで CodeIgniter 2 を使用しています。ユーザーの場合、データベースのフィールドではないフィールド (およびその他のフィールド) があります (テーブルにconfirm_passwordはこれらのフィールドはありません) が、サインアップ フォームに表示するためだけに存在します。confirm_emailusers
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_emailandconfirm_passwordをトリガーしますが、そうすべきではありません。
- アプリケーションに含める可能性のあるすべての検証ルールを (もちろんモデルに) 含めるのが最善でしょうか?
- バックエンドにユーザーを追加するときに、コントローラーでこれらのルールを変更する (たとえば、配列
confirm_emailからインデックスを削除する) ことは良い考え ですか?$validation
どんな考えでも感謝します。ありがとう