Validation is a necessary part of any
application. There may be many inbuilt validations in an application. If you want to
use a custom validation to ensure useful data in an application then
you can do that. There may be many custom validations that can be created in LightSwitch, but here
we will discuss some custom validations which are as follows.
Step 1 : Open Visual Studio->Click on
create new table.
Step 2 : Create a table, such as employees.
Step 3 : Go to properties of
FirstName->Mark IsRequired checkbox and maximum length(255)->Click on custom
validation->Write the code.
Code
partial
void FirstName_Validate(EntityValidationResultsBuilder
results)
{
//
results.AddPropertyError("<Error-Message>");
if (this.FirstName
!= null && !System.Text.RegularExpressions.Regex.IsMatch(this.FirstName,
@"^[a-zA-Z]+$"))
{
results.AddPropertyError("Invalid
characters, Only alphabets allowed.");
}
}
Step
4 : Go to properties of LastName->Mark
IsRequired checkbox and maximum length(255)->Click on custom validation->Write
the code.
Code
partial
void LastName_Validate(EntityValidationResultsBuilder
results)
{
//
results.AddPropertyError("<Error-Message>");
if (this.LastName
!= null && !System.Text.RegularExpressions.Regex.IsMatch(this.LastName,
@"^[a-zA-Z]+$"))
{
results.AddPropertyError("Invalid
characters, Only alphabets allowed.");
}
}
Step 5 : Go to DateOfBirth
properties->Click on custom validation.
Code
partial
void DateOfBirth_Validate(EntityValidationResultsBuilder
results)
{
//
results.AddPropertyError("<Error-Message>");
if (this.DateOfBirth.CompareTo(this.JoiningDate)
> 0)
{
results.AddPropertyError("DateOfBirth
should be earlier than joining date");
}
}
or
partial
void JoiningDate_Validate(EntityValidationResultsBuilder
results)
{
//
results.AddPropertyError("<Error-Message>");
if (this.DateOfBirth.CompareTo(this.JoiningDate)
> 0)
{
results.AddPropertyError("Joining date
should be after DateOfBirth");
}
}
Step 6 : Now go to
InTime properties->Write maximum and minimum value->Click on custom
validation->Write the code.
Code
partial
void InTime_Validate(EntityValidationResultsBuilder
results)
{
//
results.AddPropertyError("<Error-Message>");
if (InTime > OutTime)
{
results.AddPropertyError("InTime
must be before OutTime");
}
}
or
partial
void OutTime_Validate(EntityValidationResultsBuilder
results)
{
//
results.AddPropertyError("<Error-Message>");
if (OutTime < InTime)
{
results.AddPropertyError("OutTime must be
after InTime");
}
}
Step 7 : Now we will
add a screen. Right click on screens->Add screen.
Step 8 : Select editable grid
screen->Select screen data (employees)->Ok.
Step 9 : Run theapplication (F5). If you
clear the FirstName column then an error will occur; it will be "A value is
required".
Step 10 : If you entered an integer
value in the FirstName column then an error will occur; it will be "Invalid
character, Only alphabet allowed".
Step 11 : If you enter a DateOfBirth that is
after the joining date then an error will occur; it will be "DateOfBirth should
be earlier than joining date".
Step 12 : If you enter an InTime that is after
the OutTime then an error will occur; it will be "InTime must be before OutTime".
Conclusion
So custom validation is a validation which is
created manually. Validation is required to prevent invalid data and ensure useful data in the application.. So validation is very necessary for an
application.
Some helpful resources