Laravel自定义验证规则

自定义验证规则对象

执行 make:rule Artisan 命令,创建目录

继承Rule编写自定义方法

/**
 * 【json格式校验】
 * Class JsonFormat
 * @package App\Rules
 */
class JsonFormat implements Rule
{
    /**
     * Determine if the validation rule passes.
     *
     * @param  string  $attribute
     * @param  mixed  $value
     * @return bool
     */
    public function passes($attribute, $value)
    {
        $data = json_decode($value, true);
        if (!$data) {
            return false;
        }

        foreach ($data as $item) {
            if (array_key_exists('exam_id', $item) == false) {
                return false;
            }
            if (array_key_exists('option_id', $item) == false) {
                return false;
            }
        }
        return true;
    }

    /**
     * Get the validation error message.
     *
     * @return string
     */
    public function message()
    {
        return ':attribute 必须包含 exam_id 以及 option_id 字段';
    }
}

passes为校验方法;$attribute参数是属性;$value是参数值

返回结果 true则通过校验;fasle则不通过

message为校验失败显示的文案

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容