Xamarin
A Microsoft open-source app platform for building Android and iOS apps with .NET and C#.
5,007 questions
This browser is no longer supported.
Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.
how to force entry validation on button pressed MVVM model
<Entry Grid.Column="0"
Placeholder="Width"
Text="{Binding Width}" TextColor="Black" Keyboard="Numeric">
<Entry.Behaviors>
<xct:MultiValidationBehavior x:Name="WidthMultiValidation"
IsValid="{Binding BindingContext.IsWidthValid, Source={x:Reference list}}"
InvalidStyle="{StaticResource InvalidEntryStyle}"
>
<xct:NumericValidationBehavior MaximumDecimalPlaces="2"
xct:MultiValidationBehavior.Error="Maximum Decimal Places Reached"/>
<xct:NumericValidationBehavior MinimumValue="1"
xct:MultiValidationBehavior.Error="Values can not be Zero"
/>
<xct:CharactersValidationBehavior MinimumCharacterCount="1"
CharacterType="Digit"
xct:MultiValidationBehavior.Error="Values can not be empty"/>
</xct:MultiValidationBehavior>
</Entry.Behaviors>
</Entry>
I tried use ForceValidationCommand
ForceValidateCommand="{Binding BindingContext.SetBoxDimensionsCommand, Source={x:Reference list}}"
command action
private void SetBoxDimensions(object parameter)
{
if (parameter != null && parameter is Panel panel)
{
if(IsWidthValid && IsLengthValid && IsCountValid)
panel.EditMode = false;
}
}
then i set the Falgs to forcevalidationCOmmand
<Entry.Behaviors>
<xct:MultiValidationBehavior x:Name="WidthMultiValidation"
IsValid="{Binding BindingContext.IsWidthValid, Source={x:Reference list}}"
InvalidStyle="{StaticResource InvalidEntryStyle}"
ForceValidateCommand="{Binding BindingContext.SetBoxDimensionsCommand, Source={x:Reference list}}"
Flags="ForceMakeValidWhenFocused">
........
</Entry.Behaviors>
But no Luck