Show / Hide Table of Contents

    URI Fields

    If you need to collect URI/URL data then that will automatically be handled for you with a HTML5 <input type="url"> field.

    Any one of the following model types will trigger one of these fields:

    public Uri Uri { get; set; }
    
    [DataType(DataType.Url)]
    public string Url { get; set; }
    
    [Url]
    public string Url { get; set; }
    

    With the default global configuration, using a Uri will also result in server-side validation - the value will get parsed by the Uri class to check validity. The [Url] against a string will also result in (rudimentary) validation (starts with http://, https:// or ftp://).

    Default HTML

    <input %validationAttrs% %htmlAttributes% id="%propertyName%" name="%propertyName%" type="url" value="%value%" />
    

    Configurability

    Specify URL

    You can specify your property as a URL value, which will automatically validate server-side for a valid HTTP or HTTPS URL on the server-side (if using Uri with a [DataType(DataType.Url)] attribute) or starting with ftp://, http:// or https:// (if using string with [Url]):

    [DataType(DataType.Url)]
    public Uri Url { get; set; }
    
    [Url]
    public string Url { get; set; }
    

    Note: if you specify the [Url] attribute with a Uri type it will always fail server-side validation because the built-in [Url] attribute expects a string.

    • Improve this Doc
    Back to top © Copyright 2012-2020 MRCollective, Rob Moore, Matt Davies and the contributors to ChameleonForms.