All Projects → Karnah → ReactiveValidation

Karnah / ReactiveValidation

Licence: MIT license
A small validation library for WPF and Avalonia which uses a fluent interface and allows display messages near controls in GUI with MVVM

Programming Languages

C#
18002 projects

Projects that are alternatives of or similar to ReactiveValidation

IconPacks.Browser
The Browser for all available Icon packages from MahApps.Metro.IconPacks
Stars: ✭ 74 (+48%)
Mutual labels:  xaml, wpf, avalonia
Steamtools
🛠「Steam++」是一个开源跨平台的多功能Steam工具箱。
Stars: ✭ 4,458 (+8816%)
Mutual labels:  xaml, wpf, avalonia
Mvvmvalidation
Lightweight library that helps reduce boilerplate when implementing validation in XAML MVVM applications
Stars: ✭ 141 (+182%)
Mutual labels:  xaml, wpf
Gridextra
Custom panel controls for WPF/UWP.
Stars: ✭ 149 (+198%)
Mutual labels:  xaml, wpf
Handycontrol
Contains some simple and commonly used WPF controls
Stars: ✭ 3,349 (+6598%)
Mutual labels:  xaml, wpf
SpicyTaco.AutoGrid
A magical replacement for the built in WPF Grid and StackPanel
Stars: ✭ 67 (+34%)
Mutual labels:  xaml, wpf
Fluent.ribbon
WPF Ribbon control like in Office
Stars: ✭ 1,895 (+3690%)
Mutual labels:  xaml, wpf
Code Samples
Just some code samples for MahApps and other experiments...
Stars: ✭ 205 (+310%)
Mutual labels:  xaml, wpf
Materialdesigninxamltoolkit
Google's Material Design in XAML & WPF, for C# & VB.Net.
Stars: ✭ 11,603 (+23106%)
Mutual labels:  xaml, wpf
Toast
🍞 The rounded and animated Android Toast for .NET WPF/XAML
Stars: ✭ 25 (-50%)
Mutual labels:  xaml, wpf
MahApps.Metro.netcoreapp30
.NET Core 3.1 MahApps.Metro sample
Stars: ✭ 15 (-70%)
Mutual labels:  xaml, wpf
AdminRunasMenu
A WPF menu driven by powershell to perform administrator functions
Stars: ✭ 26 (-48%)
Mutual labels:  xaml, wpf
Forge.forms
Dynamically generated forms and dialogs in WPF
Stars: ✭ 131 (+162%)
Mutual labels:  xaml, wpf
Avalonia
A cross platform XAML framework for .NET
Stars: ✭ 12,588 (+25076%)
Mutual labels:  xaml, avalonia
Arcgis Toolkit Dotnet
Toolkit for ArcGIS Runtime SDK for .NET
Stars: ✭ 125 (+150%)
Mutual labels:  xaml, wpf
Modernwpf
Modern styles and controls for your WPF applications
Stars: ✭ 2,610 (+5120%)
Mutual labels:  xaml, wpf
Xaml Code Experiences
A collection of the experiences I have collected during days of Xamarin and Wpf, while following the MVVM design pattern.
Stars: ✭ 114 (+128%)
Mutual labels:  xaml, wpf
Aura.ui
A Library with a lot of Controls for AvaloniaUI
Stars: ✭ 114 (+128%)
Mutual labels:  xaml, wpf
Wpftoolkit
All the controls missing in WPF. Over 1 million downloads.
Stars: ✭ 2,970 (+5840%)
Mutual labels:  xaml, wpf
FileRenamerDiff
A File Renamer App featuring a difference display before and after the change.
Stars: ✭ 32 (-36%)
Mutual labels:  xaml, wpf

ReactiveValidation

A small validation library for WPF and Avalonia which uses a fluent interface and allows display messages near controls in GUI with MVVM. Inspired FluentValidation by Jeremy Skinner.

Sample

public class CarViewModel : ValidatableObject
{
    public CarViewModel()
    {
        Validator = GetValidator();
    }

    private IObjectValidator GetValidator()
    {
        var builder = new ValidationBuilder<CarViewModel>();

        builder.RuleFor(vm => vm.Make).NotEmpty();
        builder.RuleFor(vm => vm.Model).NotEmpty().WithMessage("Please specify a car model");
        builder.RuleFor(vm => vm.Mileage).GreaterThan(0).When(model => model.HasMileage);
        builder.RuleFor(vm => vm.Vin).Must(BeAValidVin).WithMessage("Please specify a valid VIN");
        builder.RuleFor(vm => vm.Description).Length(10, 100);

        return builder.Build(this);
    }

    private bool BeAValidVin(string vin)
    {
        // Custom vin validating logic goes here.
    }

    // Properties with realization INotifyPropertyChanged goes here.
}

WPF

Avalonia

Documentation

About all features you can read in the documentation.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].