HTML5 appears to support a new range of input fields for things such as:
Has anyone implemented HtmlHelper
extension methods for ASP.NET MVC that generates these yet? It's possible to do this using an overload that accepts htmlAttributes
, such as:
Html.TextBoxFor(model => model.Foo, new { type="number", min="0", max="100" })
But that's not as nice (or typesafe) as:
Html.NumericInputFor(model => model.Foo, min:0, max:100)
Just a heads up that many of these are now incorporated into MVC4 by using the DataType
attribute.
As of this work item you can use:
public class MyModel
{
// Becomes <input type="number" ... >
public int ID { get; set; }
// Becomes <input type="url" ... >
[DataType(DataType.Url)]
public string WebSite { get; set; }
// Becomes <input type="email" ... >
[DataType(DataType.EmailAddress)]
public string Email { get; set; }
// Becomes <input type="tel" ... >
[DataType(DataType.PhoneNumber)]
public string PhoneNumber { get; set; }
// Becomes <input type="datetime" ... >
[DataType(DataType.DateTime)]
public DateTime DateTime { get; set; }
// Becomes <input type="date" ... >
[DataType(DataType.Date)]
public DateTime Date { get; set; }
// Becomes <input type="time" ... >
[DataType(DataType.Time)]
public DateTime Time { get; set; }
}