1. 程式人生 > >封裝了一個驗證類

封裝了一個驗證類

into ons namespace reac ips pac urn end _id

<?php
/**
 * 表單驗證工具類
 * User: Eden
 * Date: 19-4-26 上午9:23
 */

namespace Common\Util;

use Vendor\Func\Json;
use Vendor\Func\Verify;

class ValidUtil extends CommonUtil {
    /**
     * @param $regulations
     * @param $params
     * @return bool
     */
    public static function each($regulations,$params) {
        //$regulations = [
        //    'name' => [
        //        'required' => '請先寫姓名|10001',
        //    ],
        //    'telephone' => [
        //        'required' => '請先寫手機號|10001',
        //        'telephone' => '請先寫正確的手機號|10002',
        //    ],
        //    'id_number' => [
        //        'required' => '請填寫身份證號|10001',
        //        'id_card' => '請填寫正確的身份證號|10001',
        //    ],
        //    'department_id' => [
        //        'required' => '請選擇科室|10001',
        //    ],
        //    'uid' => [
        //        'required' => '缺少用戶id|10001',
        //    ],
        //];
        $json = new Json();
        foreach ($regulations as $param => $regulation) {
            foreach ($regulation as $rule => $tips) {
                if (((string)$rule === 'required') && !$params[$param]) {
                    $tips = explode('|',$tips);
                    $json->printOutError($tips[0],$tips[1] ?:'10001');
                    break;
                }

                if (((string)$rule === 'telephone') && !Verify::checkMobile($params[$param])) {
                    $tips = explode('|',$tips);
                    $json->printOutError($tips[0],$tips[1] ?:'10001');
                    break;
                }

                if (((string)$rule === 'id_card') && !Verify::checkIDCard($params[$param])) {
                    $tips = explode('|',$tips);
                    $json->printOutError($tips[0],$tips[1] ?:'10001');
                    break;
                }
            }
        }

        return true;
    }
}

使用如下,

$regulations = [
    'name' => [
        'required' => '請填寫姓名|10001',
    ],
    'telephone' => [
        'required' => '請填寫手機號|10001',
        'telephone' => '請填寫正確的手機號|10002',
    ],
    'id_number' => [
        'required' => '請填寫身份證號|10001',
        'id_card' => '請填寫正確的身份證號|10001',
    ],
    'department_id' => [
        'required' => '請選擇科室|10001',
    ],
    'uid' => [
        'required' => '缺少用戶id|10001',
    ],
];
$params = $_POST;
ValidUtil::each($regulations,$params);

通用的驗證,就交給它。
根數據庫交互的驗證,在下面的步驟中,繼續進行。

封裝了一個驗證類