Nano ASP.NET SaaS Boilerplate
Admin credentials (all tenants): / Password123!
Sample data resets every hour
Nano ASP.NET SaaS Boilerplate
.NET Solution
Vue UI
React UI
Razor Pages
React UI

Data Tables, Forms & Validation

Data tables and forms are so important, they get their own section. The boilerplate uses Tanstack Table v8 and Formik together with Bootstrap 5 styles. These approach results in a highly flexible and customizable, form and table solution with a good developer experience.

Data Tables

The data tables have two implementations: client-table client-side pagination, sorting, and filtering and server-table for server-side pagination, sorting, and filtering.

Data tables are the critical element in a lot of applications. As such, we’ve spent a lot of time and effort researching data tables. The best one currently in our opinion is Tanstack Table v8. Tanstack Table v8 grew from React Table (which could be thought of as v7) but is now framework agnostic which means that it will work on any JS framework. Learn it once, use it everywhere. It’s the same data table library used in the Vue version of the UI. 

Tanstack Table is headless, which means that it only outputs data, and has no dictation of style. The table style is simply the Bootstrap 5 table classes. By formatting the cells or providing them with new components you can render tables with anything. As mentioned earlier, the tables obtain their column definitions from outside so that they are reusable.

Pagination, sorting, and filtering have been implemented on the data table components. One thing to note though is that the way these things are handled client-side or server-side is quite different. As such, we have created separate a table component for each use case: client-table and server-table. Sorting and filtering apply on all the data rows, not just the ones shown in the current page. To fully understand the data table, read the documentation from Tanstack Table v8.

A vanilla JS version of Tanstack Table v8 doesn’t exist. For this reason, the Razor UI of this boilerplate uses JQuery Datatables, which is the best data table library for a non JS framework environment like Razor pages.

Forms & Validation

Forms are another critical component. This boilerplate uses Formik in conjunction with Bootstrap styled form inputs to handle any kind of form you need. Read the Formik documentation or follow along with any of the forms in the boilerplate to see how to work with forms. Formik can use a validation rule library like Yup to make writing validation rules super easy.

Next Steps

The next section covers the style and theme.