1. A method for enabling a user to fill an input field on a user interface, the method comprising: generating, by one or more processors, an input field on a user interface, wherein the input field has a plurality of numeric entry subfields and at least one constraint for at least one of said plurality of numeric entry subfields, and wherein the plurality of numeric entry subfields combine to form a numeric representation of a date; generating and displaying, by one or more processors, a virtual keyboard on the user interface, wherein the virtual keyboard comprises multiple numeric rows, wherein all of the multiple numeric rows are displayed simultaneously on the virtual keyboard, and wherein each numeric row from the multiple numeric rows is specific for a particular numeric entry subfield in the numeric representation of the date; receiving, by one or more processors, a first numeral for the plurality of numeric entry subfields, wherein the first numeral is selected by a user from a first numeric row displayed on the virtual keyboard on the user interface, wherein the first numeric row is from the multiple numeric rows, and wherein the first numeric row includes only numerals that may be used as the first numeral for a respective first entry subfield in the numeric representation of the date; in response to receiving the first numeral, altering, by one or more processors, numerals in a second numeric row according to predicted second numerals from which a second numeral entered in the plurality of numeral entry subfields will be selected by the user, wherein the second numeric row is from the multiple numeric rows, and wherein the second numeral is predicted according a constraint on the second numeral for a respective second numeric entry subfield in the numeric representation of the date based on the first numeral that was selected by the user; and adjusting and displaying, by one or more processors, all other numeric rows, beyond the first numeric row and the second numeric row, from the multiple numeric rows according to constraints on said all other numeric rows, wherein each subsequent numeric row is adjusted according to which numeral for a respective numeric entry subfield is selected by a user from a preceding numeric row until all numeric entry subfields in the entry field are filled for the numeric representation of the date.