ValidationXFSample icon indicating copy to clipboard operation
ValidationXFSample copied to clipboard

Validation rule for selected item of Picker

Open viveklpu2011 opened this issue 4 years ago • 1 comments

Want to perform validation of picker that value is selected or not from view model using validation object

viveklpu2011 avatar Jan 10 '21 15:01 viveklpu2011

I think it's not required; if your picker is looking like this;

                              <Picker x:Name="pickerDemo" SelectedItem="{Binding PickerVariable.Value}"
                                            Title="Select Qualification *" Style="{StaticResource MaterialPickerStyle}">
                                        <Picker.ItemsSource>
                                            <x:Array Type="{x:Type x:String}">
                                                <x:String>BELOW MATRICULATION</x:String>
                                                <x:String>MATRICULATION (10TH)</x:String>
                                                <x:String>HIGHER SECONDARY (10+2)</x:String>
                                                <x:String>DIPLOMA</x:String>
                                                <x:String>UNDER GRADUATION</x:String>
                                                <x:String>POST GRADUATION</x:String>
                                                <x:String>Ph.D</x:String>
                                            </x:Array>
                                        </Picker.ItemsSource>
                                         <Picker.Triggers>
                                             <DataTrigger TargetType="Picker" Binding="{Binding PickerVariable.IsValid}" Value="False">
                                                <Setter Property="TitleColor" Value="Red"/>
                                             </DataTrigger>
                                         </Picker.Triggers>
                                 </Picker>
                                <Label Text="{Binding Qualification.Errors, Converter={StaticResource FirstValidationErrorConverter}}"
                                       IsVisible="{Binding Qualification.IsValid, Converter={StaticResource InverseBoolConverter}}"
                                       Style="{StaticResource ErrorLabelStyle}"/>
public ValidatableObject<string> PickerVariable { get; set; } = new ValidatableObject<string>();

private void AddValidationRules()
{
    PickerVariable.Validations.Add(new IsNotNullOrEmptyRule<string> { ValidationMessage = "Picker required!" });
}

sattasundar avatar Feb 24 '21 10:02 sattasundar