diff --git a/include/argparse/argparse.hpp b/include/argparse/argparse.hpp index 5c21bcb..6b77ad2 100644 --- a/include/argparse/argparse.hpp +++ b/include/argparse/argparse.hpp @@ -584,17 +584,12 @@ public: */ void validate() const { if (m_is_optional) { - if (m_is_used && !m_num_args_range.contains(m_values.size()) && !m_is_repeatable && - !m_default_value.has_value()) { - throw_nargs_range_validation_error(); - } else { - // TODO: check if an implicit value was programmed for this argument - if (!m_is_used && !m_default_value.has_value() && m_is_required) { - throw_required_arg_not_used_error(); - } - if (m_is_used && m_is_required && m_values.size() == 0) { - throw_required_arg_no_value_provided_error(); - } + // TODO: check if an implicit value was programmed for this argument + if (!m_is_used && !m_default_value.has_value() && m_is_required) { + throw_required_arg_not_used_error(); + } + if (m_is_used && m_is_required && m_values.size() == 0) { + throw_required_arg_no_value_provided_error(); } } else { if (!m_num_args_range.contains(m_values.size()) && !m_default_value.has_value()) {