Table of Contents

Class ObservableValidationBase<TViewModel, TValue>

Namespace
ReactiveUI.Validation.Components
Assembly
ReactiveUI.Validation.dll

A validation component that is based on an IObservable<T>.

public abstract class ObservableValidationBase<TViewModel, TValue> : ReactiveObject, IDisposable, IPropertyValidationComponent, IValidationComponent, IValidatesProperties

Type Parameters

TViewModel
A validation component that is based on an .
TValue
A validation component that is based on an .
Inheritance
ObservableValidationBase<TViewModel, TValue>
Implements
Derived
Extension Methods
WhenAnyMixin.WhenAny<TSender, TRet, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12>(TSender?, Expression<Func<TSender, T1>>, Expression<Func<TSender, T2>>, Expression<Func<TSender, T3>>, Expression<Func<TSender, T4>>, Expression<Func<TSender, T5>>, Expression<Func<TSender, T6>>, Expression<Func<TSender, T7>>, Expression<Func<TSender, T8>>, Expression<Func<TSender, T9>>, Expression<Func<TSender, T10>>, Expression<Func<TSender, T11>>, Expression<Func<TSender, T12>>, Func<IObservedChange<TSender, T1>, IObservedChange<TSender, T2>, IObservedChange<TSender, T3>, IObservedChange<TSender, T4>, IObservedChange<TSender, T5>, IObservedChange<TSender, T6>, IObservedChange<TSender, T7>, IObservedChange<TSender, T8>, IObservedChange<TSender, T9>, IObservedChange<TSender, T10>, IObservedChange<TSender, T11>, IObservedChange<TSender, T12>, TRet>)
WhenAnyMixin.WhenAny<TSender, TRet, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12>(TSender?, Expression<Func<TSender, T1>>, Expression<Func<TSender, T2>>, Expression<Func<TSender, T3>>, Expression<Func<TSender, T4>>, Expression<Func<TSender, T5>>, Expression<Func<TSender, T6>>, Expression<Func<TSender, T7>>, Expression<Func<TSender, T8>>, Expression<Func<TSender, T9>>, Expression<Func<TSender, T10>>, Expression<Func<TSender, T11>>, Expression<Func<TSender, T12>>, Func<IObservedChange<TSender, T1>, IObservedChange<TSender, T2>, IObservedChange<TSender, T3>, IObservedChange<TSender, T4>, IObservedChange<TSender, T5>, IObservedChange<TSender, T6>, IObservedChange<TSender, T7>, IObservedChange<TSender, T8>, IObservedChange<TSender, T9>, IObservedChange<TSender, T10>, IObservedChange<TSender, T11>, IObservedChange<TSender, T12>, TRet>)
WhenAnyMixin.WhenAny<TSender, TRet, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12>(TSender?, Expression<Func<TSender, T1>>, Expression<Func<TSender, T2>>, Expression<Func<TSender, T3>>, Expression<Func<TSender, T4>>, Expression<Func<TSender, T5>>, Expression<Func<TSender, T6>>, Expression<Func<TSender, T7>>, Expression<Func<TSender, T8>>, Expression<Func<TSender, T9>>, Expression<Func<TSender, T10>>, Expression<Func<TSender, T11>>, Expression<Func<TSender, T12>>, Func<IObservedChange<TSender, T1>, IObservedChange<TSender, T2>, IObservedChange<TSender, T3>, IObservedChange<TSender, T4>, IObservedChange<TSender, T5>, IObservedChange<TSender, T6>, IObservedChange<TSender, T7>, IObservedChange<TSender, T8>, IObservedChange<TSender, T9>, IObservedChange<TSender, T10>, IObservedChange<TSender, T11>, IObservedChange<TSender, T12>, TRet>)
WhenAnyMixin.WhenAny<TSender, TRet, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12>(TSender?, Expression<Func<TSender, T1>>, Expression<Func<TSender, T2>>, Expression<Func<TSender, T3>>, Expression<Func<TSender, T4>>, Expression<Func<TSender, T5>>, Expression<Func<TSender, T6>>, Expression<Func<TSender, T7>>, Expression<Func<TSender, T8>>, Expression<Func<TSender, T9>>, Expression<Func<TSender, T10>>, Expression<Func<TSender, T11>>, Expression<Func<TSender, T12>>, Func<IObservedChange<TSender, T1>, IObservedChange<TSender, T2>, IObservedChange<TSender, T3>, IObservedChange<TSender, T4>, IObservedChange<TSender, T5>, IObservedChange<TSender, T6>, IObservedChange<TSender, T7>, IObservedChange<TSender, T8>, IObservedChange<TSender, T9>, IObservedChange<TSender, T10>, IObservedChange<TSender, T11>, IObservedChange<TSender, T12>, TRet>)

Constructors

ObservableValidationBase(IObservable<IValidationState>)

Initializes a new instance of the ObservableValidationBase<TViewModel, TValue> class.

protected ObservableValidationBase(IObservable<IValidationState> observable)

Parameters

observable IObservable<IValidationState>

Observable that updates the view model property validity.

ObservableValidationBase(TViewModel, IObservable<TValue>, Func<TViewModel, TValue, bool>, Func<TViewModel, TValue, bool, IValidationText>)

Initializes a new instance of the ObservableValidationBase<TViewModel, TValue> class.

protected ObservableValidationBase(TViewModel viewModel, IObservable<TValue> observable, Func<TViewModel, TValue, bool> isValidFunc, Func<TViewModel, TValue, bool, IValidationText> messageFunc)

Parameters

viewModel TViewModel

ViewModel instance.

observable IObservable<TValue>

Observable that updates the view model property validity.

isValidFunc Func<TViewModel, TValue, bool>

Func to define if the viewModelProperty is valid or not.

messageFunc Func<TViewModel, TValue, bool, IValidationText>

Func to define the validation error message.

Properties

IsValid

Gets a value indicating whether the validation is currently valid or not.

public bool IsValid { get; }

Property Value

bool

Properties

Gets the properties associated with this validation component.

public IEnumerable<string> Properties { get; }

Property Value

IEnumerable<string>

PropertyCount

Gets the total number of properties referenced.

public int PropertyCount { get; }

Property Value

int

Text

Gets the current (optional) validation message.

public IValidationText? Text { get; }

Property Value

IValidationText

ValidationStatusChange

Gets the observable for validation state changes.

public IObservable<IValidationState> ValidationStatusChange { get; }

Property Value

IObservable<IValidationState>

Methods

AddProperty<TProp>(Expression<Func<TViewModel, TProp>>)

Adds a property to the list of this which this validation is associated with.

protected void AddProperty<TProp>(Expression<Func<TViewModel, TProp>> property)

Parameters

property Expression<Func<TViewModel, TProp>>

ViewModel property.

Type Parameters

TProp

Any type.

ContainsPropertyName(string, bool)

Determine if a property name is actually contained within this.

public bool ContainsPropertyName(string propertyName, bool exclusively = false)

Parameters

propertyName string

ViewModel property name.

exclusively bool

Indicates if the property to find is unique.

Returns

bool

Returns true if it contains the property, otherwise false.

Dispose()

public void Dispose()

Dispose(bool)

Disposes of the managed resources.

protected virtual void Dispose(bool disposing)

Parameters

disposing bool

If its getting called by the Dispose() method.