When you do not want the field to be empty, why don't you add required validator? 
@qiangxue whats the idea behind `$allowEmpty`? Imo it should always be set to true, not configurable. And one should add `required` validator too to when it is not allowed to be empty.
At least you want a proper error message, that only come when using required validator, not `$allowEmpty=false`.