みなさんお疲れ様です。お世話になっております。
現在僕は、管理パネルの画面で、登録する際のusernameとpasswordのバリデーションを実装しようとしています。
modelはuserだと他のdatabaseとかぶるので、AdminUserというモデルを作って使用しています。
そして、AdminUser.phpにvalidateを書いているのですが、どうも全てのバリデートが機能していないようなのです。
何度やっても機能しないのでお手上げです。
どなたかご助言お願いします。
以下がコードです。
AdminUser.php
php
1<?php 2 3App::uses('AuthComponent', 'Controller/Component'); 4 5class AdminUser extends AppModel { 6 7 public $name = 'AdminUser'; 8 9 public $validate = array( 10 'username' => array( 11 array( 12 'rule' => 'isUnique', //重複禁止 13 'message' => '既に使用されている名前です。' 14 ), 15 array( 16 'rule' => 'alphaNumeric', //半角英数字のみ 17 'message' => '名前は半角英数字にしてください。' 18 ), 19 array( 20 'rule' => array('between', 2, 32), //2~32文字 21 'message' => '名前は2文字以上32文字以内にしてください。' 22 ) 23 ), 24 'password' => array( 25 array( 26 'rule' => 'alphaNumeric', 27 'message' => 'パスワードは半角英数字にしてください。' 28 ), 29 array( 30 'rule' => array('between', 8, 32), 31 'message' => 'パスワードは8文字以上32文字以内にしてください。' 32 ) 33 ) 34 ); 35 36 //パスワードをハッシュ化して保存するために下記を追加 37 public function beforeSave($options = array()) { 38 $this->data['AdminUser']['password'] = AuthComponent::password($this->data['AdminUser']['password']); 39 return true; 40 } 41 42}
cakephpのversionは2.6.4です。
宜しくお願い致します。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。