Changeset 20127
- Timestamp:
- 2011/02/09 21:10:45 (12 years ago)
- bzr:base-revision:
- svn-v4:1e3b908f-19a9-db11-a64c-001125224ba8:branches/version-2_5-dev:20126
- bzr:committer:
- Kentaro Ohkouchi <ohkouchi@loop-az.jp>
- bzr:file-ids:
data/class/SC_FormParam.php 15078@1e3b908f-19a9-db11-a64c-001125224ba8:branches%2Ffeature-module-update%2Fdata%2Fclass%2FSC_FormParam.php- bzr:mapping-version:
- v4
- bzr:merge:
ohkouchi@loop-az.jp-20110209120452-qxfqsod0i0huzsp3- bzr:repository-uuid:
- 1e3b908f-19a9-db11-a64c-001125224ba8
- bzr:revision-id:
- ohkouchi@loop-az.jp-20110209121032-f87kx2nv801gwnto
- bzr:revno:
- 2855
- bzr:revprop:branch-nick:
- branches/version-2_5-dev
- bzr:root:
- branches/version-2_5-dev
- bzr:text-revisions:
data/class/SC_FormParam.php ohkouchi@loop-az.jp-20110209120452-qxfqsod0i0huzsp3- bzr:timestamp:
- 2011-02-09 21:10:32.371000051 +0900
- bzr:user-agent:
- bzr2.2.1+bzr-svn1.0.4
- svn:original-date:
- 2011-02-09T12:10:32.371000Z
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/version-2_5-dev/data/class/SC_FormParam.php
r20091 r20127 176 176 // 連想配列の取得 177 177 $arrRet = $this->getHashArray($keyname); 178 $objErr = new SC_CheckError($arrRet);178 $objErr->arrErr = array(); 179 179 180 180 $cnt = 0; … … 202 202 case 'FILE_NAME_CHECK': 203 203 case 'MOBILE_EMAIL_CHECK': 204 205 if(!is_array($this->param[$cnt])) { 206 $objErr->doFunc(array($this->disp_name[$cnt], $val), array($func)); 207 } else { 208 $max = count($this->param[$cnt]); 209 for($i = 0; $i < $max; $i++) { 210 $objSubErr = new SC_CheckError($this->param[$cnt]); 211 $objSubErr->doFunc(array($this->disp_name[$cnt], $i), array($func)); 212 if(count($objSubErr->arrErr) > 0) { 213 foreach($objSubErr->arrErr as $mess) { 214 if($mess != "") { 215 $objErr->arrErr[$val] = $mess; 216 } 217 } 218 } 219 } 220 } 204 $this->recursionCheck($this->disp_name[$cnt], $func, 205 $this->param[$cnt], $objErr->arrErr, 206 $val, $this->length[$cnt]); 221 207 break; 222 208 case 'MAX_LENGTH_CHECK': 223 209 case 'MIN_LENGTH_CHECK': 224 210 case 'NUM_COUNT_CHECK': 225 if(!is_array($this->param[$cnt])) { 226 $objErr->doFunc(array($this->disp_name[$cnt], $val, $this->length[$cnt]), array($func)); 227 } else { 228 $max = count($this->param[$cnt]); 229 for($i = 0; $i < $max; $i++) { 230 $objSubErr = new SC_CheckError($this->param[$cnt]); 231 $objSubErr->doFunc(array($this->disp_name[$cnt], $i, $this->length[$cnt]), array($func)); 232 if(count($objSubErr->arrErr) > 0) { 233 foreach($objSubErr->arrErr as $mess) { 234 if($mess != "") { 235 $objErr->arrErr[$val] = $mess; 236 } 237 } 238 } 239 } 240 } 211 $this->recursionCheck($this->disp_name[$cnt], $func, 212 $this->param[$cnt], $objErr->arrErr, 213 $val, $this->length[$cnt]); 241 214 break; 242 215 // 小文字に変換 … … 268 241 } 269 242 return $objErr->arrErr; 243 } 244 245 /** 246 * SC_CheckError::doFunc() を再帰的に実行する. 247 * 248 * @param string $disp_name 表示名 249 * @param string $func チェック種別 250 * @param mixed $value チェック対象の値. 配列の場合は再帰的にチェックする. 251 * @param array $arrErr エラーメッセージを格納する配列 252 * @param string $error_key エラーメッセージを格納する配列のキー 253 * @param integer $length チェック対象の値の長さ 254 * @return void 255 */ 256 function recursionCheck($disp_name, $func, $value, &$arrErr, $error_key, 257 $length = 0) { 258 if (is_array($value)) { 259 foreach ($value as $in) { 260 $this->recursionCheck($disp_name, $func, $in, $arrErr, $error_key, 261 $length); 262 } 263 } else { 264 $objSubErr = new SC_CheckError(array(0 => $value)); 265 $objSubErr->doFunc(array($disp_name, 0, $length), array($func)); 266 if(count($objSubErr->arrErr) > 0) { 267 foreach($objSubErr->arrErr as $mess) { 268 if($mess != "") { 269 $arrErr[$error_key] .= $mess; 270 } 271 } 272 } 273 } 270 274 } 271 275
Note: See TracChangeset
for help on using the changeset viewer.