1 #ifndef AUBO_SCOPE_KEYBOARD_INPUT_VALIDATOR_H 2 #define AUBO_SCOPE_KEYBOARD_INPUT_VALIDATOR_H 10 namespace aubo_scope {
34 virtual bool isValid(T value) = 0;
50 : min_value_(minValue), max_value_(maxValue)
56 return value >= min_value_ && value <= max_value_;
61 if (value < min_value_ || value > max_value_) {
62 if constexpr (std::is_same<T, double>::value) {
63 return QObject::tr(
"Error: The value is between %1 and %2.")
64 .arg(min_value_, 0,
'g', 15)
65 .arg(max_value_, 0,
'g', 15)
68 return QObject::tr(
"Error: The value is between %1 and %2.")
88 : min_length_(minLength), max_length_(maxLength)
94 return (
int)value.length() >= min_length_ &&
95 (int)value.length() <= max_length_;
100 if ((
int)value.length() < min_length_ ||
101 (int)value.length() > max_length_) {
103 "Error: The value is between %1 and %2 in length.")
bool isValid(std::string value) override
std::string getMessage(T value) override
Returns a meaningful message in case the value is not valid.
RangeValidator(T minValue, T maxValue)
StringLengthValidator(int minLength, int maxLength)
std::string getMessage(std::string value) override
Returns a meaningful message in case the value is not valid.
bool isValid(T value) override