Skip to content

バリデーションについて

kteraguchi edited this page Nov 11, 2015 · 1 revision

CakePHPのバリデーションを使用します。
http://book.cakephp.org/2.0/ja/models/data-validation.html

上記の例示と違うのは、メッセージを多言語化させるため、 __d()関数を使用します。 プロパティのデフォルト値として関数の使用はできないため、 beforeValidateメソッドで$validateプロパティを設定してください。

サンプルコード

public function beforeValidate($options = array()) {
    $this->validate = Hash::merge(
        $this->validate,
        array(
            'faq_id' => array(
                'numeric' => array(
                    'rule' => array('numeric'),
                    'message' => __d('net_commons', 'Invalid request.'),
                    'allowEmpty' => false,
                    'required' => true,
                ),
            ),
            'question' => array(
                'notBlank' => array(
                    'rule' => array('notBlank'),
                    'message' => sprintf(__d('net_commons', 'Please input %s.'), __d('faqs', 'Question')),
                    'allowEmpty' => false,
                    'required' => true,
                ),
            ),
        )
    )
}
Clone this wiki locally