Latest supported version: Sitefinity CMS 13.1.7400.0
IMPORTANT: This repository may not be compatible with the latest or your current Sitefinity CMS version. If you want to use the repository with a specific Sitefinity CMS version, either upgrade the code from this repository or your Sitefinity CMS project to ensure compatibility.
The dev team monitors the repository. You can create a GitHub issue to submit feedback or report bugs. Or make a pull request to submit project enhancements or compatibility changes that support new Sitefinity CMS versions.
In this repository you can find multiple MVC widgets which you can use to extend the functionality provided by the built-in MVC forms.
This GitHub repository contains the source code for the following widgets:
You use these form fields to enabe your site visitors to choose their country and state.
These controls are based on the Dropdown list
control. To learn how to configure their properties, see Dropdown list.
You may change which countries are shown in these controls. To do this, perform the following:
- Open your Sitefinity CMS backend.
- Navigate to Administration » Settings » Advanced.
- Navigate to Locations » Countries » (country code)
- Adjust the list of countries.
- To modify the states for each country, perform the following:
- Navigate to a country as described above
- Click StatesProvinces sub-node
By default, these controls are independant. You need to implement specific logic, such as changing the list of states when a country selection changes. For more information, see Form rules.
You use the DateField
to enable your site visitors to pick date and time.
This control is based on the Textbox
control. To learn how to configure their properties, see Textbox.
Additionally, you may use this control on four modes:
- Date: your visitors can input only calendar date
- Date Time: your visitors can input both calendar date and clock time
- Month: your visitors can input only a specific combination of month and year
- Time: your visitors can input only clock time
To set the control mode, you use the control's Type property.
This control uses the Kendo UI DateTime picker. If you want to customize it's behavior, such as the date and time format used, refer to kendo.ui.DateTimePicker.
You use the ConfirmationField
to create user interfaces where your visitors confirm their input. Using this widget, you force your visitors to enter some important piece of information, such as e-mail or password, two times and then ensure that they can submit the form content only if the two values match.
To implement this functionality, the control provides two Textbox
input fields and validates that their content is the same.
This control is based on the Textbox
control. To learn how to configure their properties, see Textbox.
To use these widgets, you need to build them from the source code. Make sure that your development system meets the following minimal requirements:
- A valid Sitefinity CMS license.
- Sitefinity CMS 13.0 or later.
- Your setup must comply with the minimum system requirements. For more information, see the System requirements for the Sitefinity CMS version you are using.
- Visual Studio 2015 or later.
This readme file assumes that you are using Visual Studio 2019. The older versions of Visual Studio may have small changes in the described UI elements but the process is very similar.
To use Sitefinity.EnhancedForms
with your Sitefinity CMS site perform the following:
- Download this repository it into your Sitefinity CMS solution on your local drive
- In Visual Studio open your Sitefinity solution, for example
SitefinityWebApp.sln
. - Add the downloaded
Sitefinity.EnhancedForms.csproj
to your Visual Studio solution. Perform the following:- Navigate to File » Add » Existing project...
- Browse to
c:\work\sitefinity-enhanced-forms
. The exact path depends on where you have cloned the repository - Browse to Sitefinity.EnhancedForms
- Select
Sitefinity.EnhancedForms.csproj
and click Open.
- In your main Sitefinity project, for example
SitefinityWebApp
, add a project reference to theSitefinity.EnhancedForms
project. Perform the following:- Select your main Sitefinity project, for example
SitefinityWebApp
in the Solution Explorer - In the main menu, Navigate to Project » Add Reference... A dialog opens.
- Navigate to Project » Solution.
- Check the
Sitefinity.EnhancedForms
in the list on the right. - Click OK
- Select your main Sitefinity project, for example
- Copy the new Bootstrap 4 templates in your Sitefinity project
- Open the
Sitefinity.EnhancedForms.csproj
file for edit. - Find the Target tag with
Name="CopyFeatherPackages"
. - Edit the
DestinationFolder
attribute to point to[YourSitefinityProjectPath]\ResourcePackages\Bootstrap4\%(RecursiveDir)
. - Save the file and reload the project.
- Open the
- Build your Visual Studio solution.
After you build the Sitefinity.EnhancedForms
project, you can use the new form widgets in your projects' frontend. To do this, perform the following:
- Start your Sitefinity CMS solution
- In the browser, navigate to your Sitefinity CMS backend
- Navigate to Content » Forms and create a new form or edit an exisitng one
- In the Common controls toolbox you see four new controls:
Country
,State
,Date
, andConfirmation field
. - Drag and drop them as any other form control.
- Click Publish to save your form.
Note: The enhanced forms project depends on specific NuGet packages for Sitefinity CMS. When you include the enhanced forms project in your solution that depends on a newer Sitefinity version, you must also update the Telerik.Sitefinity.Feather
dependency of the enhanced forms project to match your Sitefinity version.
The Feather
package comes with a lot of content inside the ResourcePackages
folder. However, you need only the views for the enhanced forms fields.
IMPORTANT: After you update the enhanced forms project in your solution, you must delete all of the content inside the ResourcePackages
folder, except the one needed by the enhanced forms fields. Your folder structure should look like this:
ResourcePackages
Bootstrap4
MVC
Views
ConfirmationField
CountryField
DateField
StateField
razorgenerator.directives
To prevent build errors, you must delete all other files generated after the Telerik.Sitefinity.Feather
package upgrade completes.
This sample code is governed by the incuded EULA. If you require support with it, you may create pull requests and open issues in this repository and the Sitefinity team will address them.