export function isEmpty(v) {
    return v === null || typeof v === 'string' && v.trim() === ''
}

export function validateRequired(v) {
    if (isEmpty(v))
        return 'Required'
    return true
}

export function validateAmount(v) {
    if (isEmpty(v))
        return true
    const floatRegex = /^-?\d*(?:[.,]\d*?)?$/
    if (!floatRegex.test(v))
        return 'Amount must be a number'
    if (parseFloat(v) <= 0)
        return 'Amount must be positive'
    return true
}

export function validateMax(v) {
    if (!isEmpty(minPrice.value) && !isEmpty(v) && parseFloat(v) < parseFloat(minPrice.value))
        return 'Must be greater than the minimum price'
    return true
}

export function validateMin(v) {
    if (!isEmpty(maxPrice.value) && !isEmpty(v) && parseFloat(v) > parseFloat(maxPrice.value))
        return 'Must be less than the maximum price'
    return true
}

export function validateTranches(v) {
    const i = parseInt(v)
    if (parseFloat(v) !== i)
        return 'Whole numbers only'
    if (i < 1)
        return 'Must have at least one tranche'
    if (i > 255)
        return 'Maximum 255 tranches'
    return true
}

