First of all, the documentation does not state which data is being validated and when. Does the validation logic fire when I'm leaving focus, when I'm selecting an item from the existing list? When I'm calling addItem / insertItem programatically?
And since you brought up the virtual method: I do have a follow up question. My custom validator validates a string but isn't based on regular expression or on numeric validation. I inherited from RegExpValidator but I don't really understand why I don't see it called:
// Header
{
public:
ValuesRangeValidator
(QObject * parent
);
};
// Implementation
ValuesRangeValidator
::ValuesRangeValidator(QObject * parent
){
}
QValidator::State ValuesRangeValidator
::validate(const QString &valueToValidate,
int &pos
) {
bool valid = someValidationCode(valueToValidate);
return valid ? Acceptable : Invalid;
}
// Header
class ValuesRangeValidator : public QRegExpValidator
{
public:
ValuesRangeValidator(QObject * parent);
QValidator::State validate(const QString &valueToValidate, int &pos);
};
// Implementation
ValuesRangeValidator::ValuesRangeValidator(QObject * parent)
: QRegExpValidator(parent)
{
}
QValidator::State ValuesRangeValidator::validate(const QString &valueToValidate, int &pos)
{
bool valid = someValidationCode(valueToValidate);
return valid ? Acceptable : Invalid;
}
To copy to clipboard, switch view to plain text mode
Bookmarks