how to force validation xamarin forms community toolkit multivalidation

Shereif Awad 96 Reputation points
2021-03-13T19:08:19.003+00:00

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

Xamarin
Xamarin
A Microsoft open-source app platform for building Android and iOS apps with .NET and C#.
5,294 questions
{count} votes