fix #19, add custom StringLengthMessage