<?php
namespace App\Validators;

use App\Validators\Rules\MobileRule;
use Validator;

class PersonValidatorRequest extends BaseValidatorRequest
{
    /**
     * 个人基本资料更新验证。
     * @return array
     */
    public function updateInfo()
    {
        return [
           'rules'=>[
               'realname'=>'required',
               'sex'=>'required',
               'birthday'=>'required',
               'id_card'=>['required','unique:member_infos,id_card,'.request('id')],
               'residence'=>'required',
               'education'=>'required',
               'experience'=>'required',
               'phone'=>['required',new MobileRule(),'unique:members,mobile,'.request()->user('web-member')->id],
               'email'=>['required','email','unique:members,email,'.request()->user('web-member')->id],
               'householdaddress'=>'required',
           ],
           'messages'=>[
               'realname.required'=>'姓名不能为空',
               'sex.required'=>'姓别不能为空',
               'birthday.required'=>'出生年份不能为空',
               'id_card.required'=>'证件号不能为空',
               'id_card.unique'=>'证件号已存在',
               'residence.required'=>'现居住地不能为空',
               'education.required'=>'最高学历不能为空',
               'experience.required'=>'工作经验不能为空',
               'phone.required'=>'手机号不能为空',
               'phone.unique'=>'手机号已经存在',
               'email.required'=>'邮箱不能为空',
               'email.email'=>'邮箱格式不对',
               'email.unique'=>'邮箱已经存在',
               'householdaddress.required'=>'籍贯不能为空',
           ],
        ];
    }

    public function passwordInfo()
    {
        return [
            'rules'=>[
                'oldpassword'=>'required',
                'password'=>'required|min:6|max:16',
                'password1'=>'required',
            ],
            'messages'=>[
                'oldpassword.required'=>'原密码不能为空',
                'password.required'=>'新密码不能为空',
                'password.min'=>'请输入6~16位',
                'password.max'=>'请输入6~16位',
                'password1.required'=>'确认密码不能为空',
            ],
        ];
    }

    public function resumeCreate()
    {
            return [
                'rules'=>[
                    'fullname'=>'required',
                    'sex'=>'required',
                    'birthdate'=>'required',
                    'id_card'=>['required','unique:member_infos,id_card,'.request('id')],
                    'residence'=>'required',
                    'education'=>'required',
                    'experience'=>'required',
                    'telephone'=>['required', new MobileRule(),'unique:members,mobile,'.request()->user('web-member')->id],
                    'email'=>['required','email','unique:members,email,'.request()->user('web-member')->id],
                    'householdaddress'=>'required',
                    'current'=>'required',
                    'nature'=>'required',
                    'trade'=>'required',
                    'intention_jobs_id'=>'required',
                    'district'=>'required',
                ],
                'messages'=>[
                    'fullname.required'=>'姓名不能为空',
                    'sex.required'=>'性别不能为空',
                    'birthdate.required'=>'出生年份不能为空',
                    'id_card.required'=>'证件号不能为空',
                    'id_card.unique'=>'证件号已存在',
                    'residence.required'=>'现居住地不能为空',
                    'education.required'=>'最高学历不能为空',
                    'experience.required'=>'工作经验不能为空',
                    'telephone.required'=>'手机号不能为空',
                    'telephone.unique'=>'手机号已经存在',
                    'email.required'=>'邮箱不能为空',
                    'email.email'=>'邮箱格式不对',
                    'email.unique'=>'邮箱已经存在',
                    'householdaddress.required'=>'籍贯不能为空',
                    'current.required'=>'目前状态不能为空',
                    'trade.required'=>'期望行业不能为空',
                    'nature.required'=>'工作性质不能为空',
                    'intention_jobs_id.required'=>'期望职位不能为空',
                    'district.required'=>'工作地区不能为空',
                ],
            ];
    }

    public function addOutward()
    {
        return [
            'rules'=>[
                'resume_id'=>'required',
                'email'=>['required','email'],
                'companyname'=>'required',
                'jobs_name'=>'required',
            ],
            'messages'=>[
                'resume_id.required'=>'选择将要发送的简历',
                'email.required'=>'企业的邮箱地址不能为空',
                'email.email'=>'企业的邮箱地址格式不对',
                'companyname.required'=>'应聘的企业名称不能为空',
                'jobs_name.required'=>'应聘的职位名称不能为空',
            ],
        ];
    }

    public function getJobsSubAdd()
    {
        return [
            'rules'=>[
                'title'=>'required',
                'intention_jobs_id'=>'required',
                'district'=>'required',
            ],
            'messages'=>[
                'title.required'=>'订阅名称不能为空',
                'intention_jobs_id.required'=>'职能分类不能为空',
                'district.required'=>'地区不能为空',
            ],
        ];
    }

    public function mobileAudit()
    {
        return [
            'rules'=>[
                'mobile'=>['required',new MobileRule(),'unique:members,mobile,'.request('id')],
            ],
            'messages'=>[
                'mobile.required'=>'请输入手机号码!',
                'mobile.unique'=>'手机号码已存在!',
            ],
        ];
    }
    
    public function mobileAuditCode()
    {
        return [
            'rules'=>[
                'mobile'=>['required',new MobileRule(),'unique:members,mobile,'.request('id')],
            ],
            'messages'=>[
                'mobile.required'=>'请输入手机号码!',
                'mobile.unique'=>'手机号码已存在!',
            ],
        ];
    }
    
    

    public function emailAudit()
    {
        return [
            'rules'=>[
                'email'=>['required','email'],
            ],
            'messages'=>[
                'email.required'=>'请输入邮箱!',
                //'email.unique'=>'邮箱已存在!',
            ],
        ];
    }

    public function updateUsername()
    {
        return [
            'rules'=>[
                'username'=>['required','unique:members'],
            ],
            'messages'=>[
                'username.required'=>'用户名不能为空!',
                'username.unique'=>'用户名已存在',
            ],
        ];
    }

}