ValidationRule.php 1.14 KB
Newer Older
1 2 3 4 5 6
<?php

namespace App\Http\Support;

class ValidationRule{
    const WARNING = [
Siti Aisah committed
7 8 9
        'required' => 'inputan tidak boleh kosong',
        'numeric' => 'inputan harus berupa angka',
        'string' => 'inputan harus berupa teks',
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
        'max' => 'must be maximum',
        'min' => 'must be minimum',
        'email' => 'is invalid',
        'mimes' => 'file type does not match',
        'unique' => 'must be unique'
    ];

    public static function getErrorMessage($validationRules) {
        $messages = [];
        foreach ($validationRules as $key => $rules) {
            $rulesArr = explode('|', $rules);

            foreach ($rulesArr as $rule) {
                $ruleArr = explode('|', $rule);
                $ruleParams = explode(':', $ruleArr[0]);
                $ruleKey = $ruleParams[0];

                $message = str_replace('inputs.', '', $key);
                $message = str_replace(['.', '_'], ' ', $message).' '.self::WARNING[$ruleKey].($ruleKey == 'max' || $ruleKey == 'min' ? ' '.$ruleParams[1].' characters' : '');
                $messages[$key.'.'.$ruleKey] = $message;
            }
        }
        return $messages;
    }
}

?>