public function afterValidation(&$data)
 {
     $ex = DBWOGPlayerTeam::find($data['m_id']);
     if ($data['pkval'] && $ex && $data['pkval'] != $data['m_id']) {
         Response::alert("ID重複");
     }
     foreach ([1, 2, 3, 4, 5] as $n) {
         if ($data["skill_{$n}"] > 0) {
             $s = DBWOGSkill::find($data["skill_{$n}"]);
             if (!$s) {
                 Response::alert("技能{$n}(s_id={$data["skill_{$n}"]})不存在");
             }
         }
     }
     if ($data['d_id']) {
         foreach (explode(',', $data['d_id']) as $d_id) {
             $d = DBWOGItem::find($d_id);
             if (!$d) {
                 Response::alert("道具(d_id={$d_id})不存在");
             }
         }
     }
     if ($data['m_mission'] > 0) {
         $m = DBWOGMission::find($data['m_mission']);
         if (!$m) {
             Response::alert("任務(m_id={$data['m_mission']})不存在");
         }
     }
 }
 public function afterValidation(&$data)
 {
     $item = DBWOGItem::find($data['syn_result']);
     if (!$item) {
         Response::alert("合成結果(d_id={$data['syn_result']})不存在");
     }
     $list = preg_split('/[\\*\\,]/i', $data['syn_element']);
     for ($i = 0, $len = count($list); $i < $len; $i += 2) {
         $item = DBWOGItem::find($list[$i]);
         if (!$item) {
             Response::alert("物品(id={$list[$i]})不存在");
         }
         if (!ctype_digit(strval($list[$i + 1])) || $list[$i + 1] < 0) {
             Response::alert("第" . ($i + 2) / 2 . "項材料的數量({$list[$i + 1]})不是正整數");
         }
     }
     if ($data['syn_mission'] > 0) {
         $mission = DBWOGMission::find($data['syn_mission']);
         if (!$mission) {
             Response::alert("專屬任務(m_id={$data['syn_mission']})不存在");
         }
     }
     if ($data['syn_need_mission'] > 0) {
         $mission = DBWOGMission::find($data['syn_need_mission']);
         if (!$mission) {
             Response::alert("前置任務(m_id={$data['syn_need_mission']})不存在");
         }
     }
 }