<?php
declare (strict_types = 1);

namespace app\admin\validate\v1;

use think\Validate;

class ArticleValidate extends Validate
{
    /**
     * 定义验证规则
     * 格式：'字段名' =>  ['规则1','规则2'...]
     *
     * @var array
     */
    protected $rule = [
        'language_id'  => 'require|integer',
        'category_id'  => 'require|integer',
        'title'        => 'require|max:128',
        'image'        => 'max:125',
        'link'         => 'max:255',
        'desc'         => 'max:512',
        'sort'         => 'integer',
        'recommend'    => 'require|in:0,1',
        'release_time' => 'dateFormat:Y-m-d H:i:s',
        'seo_title'    => 'max:512',
        'seo_keywords' => 'max:512',
        'seo_desc'     => 'max:1024'
    ];

    /**
     * 定义错误信息
     * 格式：'字段名.规则名' =>  '错误信息'
     *
     * @var array
     */
    protected $message = [
        'language_id.require'     => '语言不能为空',
        'language_id.integer'     => '语言格式不正确',
        'category_id.require'     => '分类不能为空',
        'category_id.integer'     => '分类格式不正确',
        'title.require'           => '标题不能为空',
        'title.max'               => '标题长度不能超过64个字符',
        'image.max'               => '图片地址长度不能超过125个字符',
        'link.max'                => '链接地址长度不能超过255个字符',
        'desc.max'                => '描述长度不能超过255个字符',
        'sort.integer'            => '排序格式不正确',
        'recommend.require'       => '推荐状态不能为空',
        'recommend.in'            => '推荐状态的值必须是0或1',
        'release_time.dateFormat' => '发布时间格式不正确',
        'seo_title.max'           => 'SEO标题长度不能超过512个字符',
        'seo_keywords.max'        => 'SEO关键字长度不能超过512个字符',
        'seo_desc.max'            => 'SEO描述长度不能超过1024个字符'
    ];
}
