Xam.Plugin.Validation

Simple validation for .NET projects with List of validation rules can be used Use IValidationObject to store and apply validation rules


Keywords
Validation, ValidationObject, ValidatableObject, ValidationRules, IValidationRule, IValidatable, .Net, C#, Xamarin.Forms, MVVM, Android, iOS, Xamarin
License
MIT
Install
Install-Package Xam.Plugin.Validation -Version 1.1.1

Documentation

DL.Plugin.Validation

Simple lightweight validation for properties in .NET projects

Usage

Use IValidationObject with ValidationRules to provide a validation to a property


public IValidationObject<string> Login { get; } = new ValidationObject<string>
            {
                ValidationRules = { Your list of validation rules }
            };
        

Trigger a validation


Login.Validate();

You can access the result of validation like this.


Login.IsValid

Binding example


.Bind(IsValidProperty, "Login.IsValid");

.Bind(ErrorMessageProperty, "Login.Message");

.Bind(ValueProperty, "Login.Value");

Custom Validation

Simply implement IValidationRule

public class NotEmptyValidationRule : IValidationRule<string>
    {
        public string Message { get; set; }

        public ValidationResult Validate(string value)
        {
            return !string.IsNullOrWhiteSpace(value) || !string.IsNullOrEmpty(value)
                ? ValidationResult.Valid()
                : ValidationResult.Invalid(Message);
        }
    }

Examples

Usage for Xamarin.Forms project with pure MVVM architecture can be found in samples