<commit_before>## This is an add-in for [Fody](https://github.com/SimonCropp/Fody/) 

Provides validation for XAML binding models.

Injects [IDataErrorInfo](http://msdn.microsoft.com/en-us/library/system.componentmodel.IDataErrorInfo.aspx) or [INotifyDataErrorInfo](http://msdn.microsoft.com/en-us/library/system.componentmodel.INotifyDataErrorInfo.aspx) code into a class at compile time.

[Introduction to Fody](http://github.com/SimonCropp/Fody/wiki/SampleUsage)

## Nuget package http://nuget.org/packages/Validar.Fody 

### Your Model Code
(INotifyPropertyChanged implementation excluded for brevity)

    [InjectValidation]
    public class Person : INotifyPropertyChanged
    {
        public string GivenNames { get; set; }
        public string FamilyName { get; set; }
    }

###Your validation template code

See [FluentValidationTemplate](wiki/FluentValidationTemplate) for an example ValidationTemplate implementation.


    public class ValidationTemplate : IDataErrorInfo
    {

        public ValidationTemplate(INotifyPropertyChanged target)
        {
            // Provide your own implementation
        }

        public string Error
        {
            get
            {
                // Provide your own implementation
            }
        }

        public string this[string propertyName]
        {
            get
            {
                // Provide your own implementation
            }
        }
    }
<commit_msg>again<commit_after>## This is an add-in for [Fody](https://github.com/SimonCropp/Fody/) 

Provides validation for XAML binding models.

Injects [IDataErrorInfo](http://msdn.microsoft.com/en-us/library/system.componentmodel.IDataErrorInfo.aspx) or [INotifyDataErrorInfo](http://msdn.microsoft.com/en-us/library/system.componentmodel.INotifyDataErrorInfo.aspx) code into a class at compile time.

[Introduction to Fody](http://github.com/SimonCropp/Fody/wiki/SampleUsage)

## Nuget package http://nuget.org/packages/Validar.Fody 

### Your Model Code
(INotifyPropertyChanged implementation excluded for brevity)

    [InjectValidation]
    public class Person : INotifyPropertyChanged
    {
        public string GivenNames { get; set; }
        public string FamilyName { get; set; }
    }

###Your validation template code

See [FluentValidationTemplate](Validar/wiki/FluentValidationTemplate) for an example ValidationTemplate implementation.


    public class ValidationTemplate : IDataErrorInfo
    {

        public ValidationTemplate(INotifyPropertyChanged target)
        {
            // Provide your own implementation
        }

        public string Error
        {
            get
            {
                // Provide your own implementation
            }
        }

        public string this[string propertyName]
        {
            get
            {
                // Provide your own implementation
            }
        }
    }

{'fraction_non_alphanumeric': 0.08436639118457301, 'fraction_numerical': 0.0, 'mean_word_length': 2.483213429256595, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 2, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1611073', 'n_tokens_mistral': 798, 'n_tokens_neox': 757, 'n_words': 184}