Skip to content

Instantly share code, notes, and snippets.

View ameerthehacker's full-sized avatar
📖
Learning

Ameer Jhan ameerthehacker

📖
Learning
View GitHub Profile
<?xml version="1.0" encoding="utf-8"?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:Validators="clr-namespace:XamarinFormValidation.Validators.Implementations"
xmlns:Behaviors="clr-namespace:XamarinFormValidation.Behaviors"
xmlns:local="clr-namespace:XamarinFormValidation" x:Class="XamarinFormValidation.MainPage">
<StackLayout Padding="15">
<Label>Enter the mobile number</Label>
<Entry>
<Entry.Behaviors>
...
namespace XamarinFormValidation.Behaviors
{
public class ValidationBehavior : Behavior<View>
{
...
public bool Validate()
{
...
}
...
<Entry>
<Entry.Behaviors>
<Behaviors:ValidationBehavior Group="{x:Reference form}" PropertyName="Text">
<Behaviors:ValidationBehavior.Validators>
<v:FormatValidator Format="^[0-9]{6}$" Message="Village Code must be 6 digit" />
<v:RequiredValidator />
</Behaviors:ValidationBehavior.Validators>
</Behaviors:ValidationBehavior>
</Entry.Behaviors>
...
namespace XamarinFormValidation.Behaviors
{
public class ValidationBehavior : Behavior<View>
{
...
public bool Validate()
{
bool isValid = true;
string errorMessage = "";
@ameerthehacker
ameerthehacker / ValidationBehavior.cs
Last active August 25, 2018 15:50
Xamarin Behavior for validating an element
using Xamarin.Forms;
using System.Collections.ObjectModel;
using XamarinFormValidation.Validators.Contracts;
using XamarinFormValidation.Validators.Implementations;
using System.ComponentModel;
namespace XamarinFormValidation.Behaviors
{
public class ValidationBehavior : Behavior<View>
{
@ameerthehacker
ameerthehacker / BasicErrorStyle.cs
Last active August 25, 2018 20:28
Implementation of IErrorStyle for basic errors
using Xamarin.Forms;
using XamarinFormValidation.Validators.Contracts;
namespace XamarinFormValidation.Validators.Implementations
{
public class BasicErrorStyle: IErrorStyle
{
public void ShowError(View view, string message)
{
StackLayout layout = view.Parent as StackLayout;
@ameerthehacker
ameerthehacker / IErrorStyle.cs
Last active August 25, 2018 11:38
Interface for displaying validation error
using Xamarin.Forms;
namespace XamarinFormValidation.Validators.Contracts
{
public interface IErrorStyle
{
void ShowError(View view, string message);
void RemoveError(View view);
}
}
@ameerthehacker
ameerthehacker / FormatValidator.cs
Last active August 25, 2018 18:07
Format validator implementation for IValidator
using System.Text.RegularExpressions;
using XamarinFormValidation.Validators.Contracts;
namespace XamarinFormValidation.Validators.Implementations
{
public class FormatValidator: IValidator
{
public string Message { get; set; } = "Invalid format";
public string Format { get; set; }
@ameerthehacker
ameerthehacker / RequiredValidator.cs
Created August 25, 2018 11:09
IValidator implementation for required field validation
using XamarinFormValidation.Validators.Contracts;
namespace XamarinFormValidation.Validators.Implementations
{
public class RequiredValidator: IValidator
{
public string Message { get; set; } = "This field is required";
public bool Check(string value)
{
@ameerthehacker
ameerthehacker / IValidator.cs
Last active August 25, 2018 19:54
Interface for validators
namespace XamarinFormValidation.Validators.Contracts
{
public interface IValidator
{
string Message { get; set; }
bool Check(string value);
}
}