I've created a numeric field, 4 characters long, accepting values from 1950 to 2008. I left blank the default value in order to keep it hidden if someone has not filled it in. I noticed that in the registration form and in the UCP the field appeared with a zero as a default value and what's more, it was accepting zero as a valid number. Even when I set the default field value to zero, phpBB continued to accept 0 as a logical value. I changed the default value to -1 so that a user will have to type it in or erase it. But even in this scenario 0 was an acceptable value.
I believe here we face three bugs:
- The default numeric value can't be blank
- The default numeric value can be out of the range and improper length
- 0 (zero) is always an acceptable value