/**
 * 非空校验
 * @param message 错误信息
 */
export const IS_NOT_EMPTY = (message, trigger = 'blur') => ({
  required: true,
  trigger,
  message
})

/**
 * 当前是手机号
 */
export const IS_PHONE = _ => ({
  // 当前是否是手机号
  validator: (rule, value, callback) => {
    if (/1\d{10}/.test(value)) {
      callback()
    } else {
      callback(new Error('请输入正确的手机号'))
    }
  },
  trigger: 'blur'
})

/**
 * 确认密码输入是否正确
 * @param password 当前输入的密码
 */
export const CONFIRM_PASSWORD = password => ({
  validator: (rule, value, callback) => {
    // 如果输入值不一样
    if (value && password !== value) {
      callback(new Error('两次输入密码不一致!'))
    } else {
      callback()
    }
  },
  trigger: 'blur'
})

/**
 * 是否是合法的密码
 */
export const IS_RIGHT_PASSWORD = _ => ({
  validator: (rule, password, callback) => {
    // 如果输入的密码格式不正确
    if (password && !/^(?=.*[0-9])(?=.*[a-zA-Z])(?=.*[^a-zA-Z0-9]).{8,}$/.test(`${password}`)) {
      callback(new Error('密码需包含大小写字母，数字及特殊字符'))
    } else {
      callback()
    }
  }
})
