MailMessage::_setValidate PHP Method

_setValidate() protected method

validate(入力チェック)を個別に設定する VALID_NOT_EMPTY 空不可 VALID_EMAIL メール形式チェック
protected _setValidate ( ) : void
return void TODO Cake1.2に対応させる
    protected function _setValidate()
    {
        foreach ($this->mailFields as $mailField) {
            $mailField = $mailField['MailField'];
            if ($mailField['valid'] && !empty($mailField['use_field'])) {
                // 必須項目
                if ($mailField['valid'] == 'VALID_NOT_EMPTY') {
                    if ($mailField['type'] == 'file') {
                        if (!isset($this->data['MailMessage'][$mailField['field_name'] . '_tmp'])) {
                            $this->validate[$mailField['field_name']] = array('notBlank' => array('rule' => array('notFileEmpty'), 'message' => '必須項目です。', 'required' => true));
                        }
                    } else {
                        $this->validate[$mailField['field_name']] = array('notBlank' => array('rule' => array('notBlank'), 'message' => '必須項目です。', 'required' => true));
                    }
                    // メール形式
                } elseif ($mailField['valid'] == 'VALID_EMAIL') {
                    $this->validate[$mailField['field_name']] = array('email' => array('rule' => array('email'), 'message' => '形式が不正です。'));
                    // 半角数字
                } elseif ($mailField['valid'] == '/^([0-9]+)$/') {
                    $this->validate[$mailField['field_name']] = array('rule' => '/^([0-9]+)$/', 'message' => '半角数字で入力してください。');
                } else {
                    $this->validate[$mailField['field_name']] = $mailField['valid'];
                }
            }
            // ### 拡張バリデーション
            if ($mailField['valid_ex'] && !empty($mailField['use_field'])) {
                $valids = explode(',', $mailField['valid_ex']);
                foreach ($valids as $valid) {
                    $options = explode('|', $mailField['options']);
                    $options = call_user_func_array('aa', $options);
                    switch ($valid) {
                        case 'VALID_MAX_FILE_SIZE':
                            if (!empty($options['maxFileSize'])) {
                                $this->validate[$mailField['field_name']]['fileSize'] = array('rule' => array('fileSize', $options['maxFileSize'] * 1000 * 1000), 'message' => 'ファイルサイズがオーバーしています。' . $options['maxFileSize'] . 'MB以内のファイルをご利用ください。');
                            }
                            break;
                        case 'VALID_FILE_EXT':
                            if (!empty($options['fileExt'])) {
                                $this->validate[$mailField['field_name']]['fileExt'] = array('rule' => array('fileExt', $options['fileExt']), 'message' => 'ファイル形式が不正です。');
                            }
                            break;
                    }
                }
            }
        }
    }