support `empty` validate, close #5