// utils/validators.js

/**
 * 密码验证规则：8~16位，必须包含字母和数字
 * @param {Object} rule - Ant Design 表单规则对象（可选）
 * @param {string} value - 当前输入的值
 * @returns {Promise}
 */
export const validatePassword = (rule, value) => {
  if (!value) {
    return Promise.reject('请输入密码！');
  }

  if (value.length < 8 || value.length > 16) {
    return Promise.reject('密码长度必须为8~16位！');
  }

  const hasLetter = /[a-zA-Z]/.test(value);
  const hasNumber = /\d/.test(value);

  if (!hasLetter || !hasNumber) {
    return Promise.reject('密码必须同时包含字母和数字！');
  }

  return Promise.resolve();
};