Java 17 for Absolute Beginners: A Complete Guide to Get Started with Java Programming

Want to start learning Java programming ? This guide is just for you. We’ll cover the basics of Java 17 in simple language— no experience needed! ✅ What You’ll Learn: What is Java? Java 17 Features ( for beginners) Basic Syntax Data Types Operators Conditionals Loops Functions ( Methods) Object- Oriented Programming ( OOP) New Java 17 features ( Text blocks, Records) Practice Program 📌 What is Java? Java is: ✅ A popular and easy- to- learn language ✅ Platform- independent ( write once, run anywhere) ✅ Object- oriented ( based on real- world objects) ✅ Used for apps, websites, games, and more Java 17 is the latest Long- Term Support ( LTS) version, released in 2021. 1. Java 17 Basic Syntax Every Java program has a class and a main() method. public class HelloJava {     public static void main(String[] args) {         System.out.println("Hello, Java 17!");     } } 🔹 Notes: public cla...

Validation By ValidationRule in Wpf using MVVM

View

<Window x:Class="WpfPrismTutorial.Views.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:WpfPrismTutorial"
        mc:Ignorable="d"
        prism:ViewModelLocator.AutoWireViewModel="True"
        xmlns:prism="http://prismlibrary.com/"
        xmlns:valid="clr-namespace:WpfPrismTutorial.Validations"
        Title="MainWindow" Height="450" Width="800">
    <Window.Resources>
        <ControlTemplate x:Key="errorTemplate">
            <StackPanel Orientation="Horizontal">
            <AdornedElementPlaceholder x:Name="ErrorHolder" >
                <Border BorderBrush="red" BorderThickness="1" />
            </AdornedElementPlaceholder>
            <TextBlock  Text="{Binding [0].ErrorContent}" VerticalAlignment="Center" HorizontalAlignment="Right" Foreground="Red"/>
        </StackPanel>

        </ControlTemplate>
    </Window.Resources>
    <Grid VerticalAlignment="Center" HorizontalAlignment="Left">
    <StackPanel Orientation="Horizontal" Grid.Row="2">
            <TextBlock Text="Validation by ValidationRule" Margin="5,5"/>
            <TextBox Height="30" Width="300" Validation.ErrorTemplate="{StaticResource errorTemplate}">
                <TextBox.Text>
                    <Binding Path="MainWindowModel.ValidationByValidationRule" ValidatesOnDataErrors="True" UpdateSourceTrigger="PropertyChanged">
                        <Binding.ValidationRules>
                            <valid:Validator/>
                        </Binding.ValidationRules>
                    </Binding>
                </TextBox.Text>
            </TextBox>
         
        </StackPanel>
     
    </Grid>
</Window>

ViewModel

public class MainWindowViewModel : BindableBase
    {
        private MainWindowModel mainWindowModel = new MainWindowModel();

        public MainWindowModel MainWindowModel
        {
            get { return mainWindowModel; }
            set { SetProperty(ref mainWindowModel, value); }
        }
    }

Model

 public class MainWindowModel : BindableBase
    {
        #region Validation By ValidationRule

        private string _validationByValidationRule = string.Empty;

        public string ValidationByValidationRule
        {
            get { return _validationByValidationRule; }
            set
            {
                SetProperty(ref _validationByValidationRule, value);
            }
        }
        #endregion
    }

 class Validator : ValidationRule
 {
        public override ValidationResult Validate(object value, CultureInfo cultureInfo)
        {
             if (string.IsNullOrEmpty(value?.ToString()))
                   return new ValidationResult(false, "Validation By ValidationRule should not empty");
            return new ValidationResult(true, null);
        }
    }

Comments

Popular posts from this blog

Filter DataGrid and ListView in wpf using ICollectionView

Pagination of DataGrid in WPF using MVVM

How to Create TabControl using Prism Region