Hello,

I'm going to modify the ExtJs library to correct a pico-bug so I tell you, to be sure I don't have to correct again in 3.4. (I'm right now using 3.3)
Note: this is a 5' post and I didn't seek if it was spoken about before.

This happen at the line 61756 of ext-all-debug-w-comments (I let you seek for your precise source file)
Code:
        if (value.length < 1 || value === this.emptyText) {
            if (this.allowBlank) {
                //if value is blank and allowBlank is true, there cannot be any additional errors
                return errors;
            } else {
                errors.push(this.blankText);
            }
        }
        
        if (!this.allowBlank && (value.length < 1 || value === this.emptyText)) { // if it's blank
            errors.push(this.blankText);
        }
1st: this.emptyText refers to null. The comparison of value to null occurs *after* the check of value.length => error when value is null
2nd: if the text is empty, the error *blankText* is pushed twice (but whyyy :p)

So, the above code has just to be replaced by
Code:
        if (value === this.emptyText || value.length < 1) {
            if (this.allowBlank) {
                //if value is blank and allowBlank is true, there cannot be any additional errors
                return errors;
            } else {
                errors.push(this.blankText);
            }
        }

Regards