As you know, QIntValidator and QDoubleValidator are preventing user type alphabetic charracters. Also these validators have bottom and top boundaries to prevent user insert a digit below or above the boundaries, BUT these boundaries are not working very well as its documents said. For instance if you add an QIntValidator like this:
self.setValidator(QIntValidator(0,10))
user can type number 99 which is very greater than 10. And that 10 is just define user can insert digits with 2 units. By looking at the documents and you can findout that these validators have validate() method which you can override this method and change the behavior to user couldn't type a number more 10!