Skip to content

Instantly share code, notes, and snippets.

View ameerthehacker's full-sized avatar
📖
Learning

Ameer Jhan ameerthehacker

📖
Learning
View GitHub Profile
@ameerthehacker
ameerthehacker / gist:09993e1fd9c13851c8e6d8c493bea624
Created March 7, 2018 17:48 — forked from rxaviers/gist:7360908
Complete list of github markdown emoji markup

People

:bowtie: :bowtie: 😄 :smile: 😆 :laughing:
😊 :blush: 😃 :smiley: ☺️ :relaxed:
😏 :smirk: 😍 :heart_eyes: 😘 :kissing_heart:
😚 :kissing_closed_eyes: 😳 :flushed: 😌 :relieved:
😆 :satisfied: 😁 :grin: 😉 :wink:
😜 :stuck_out_tongue_winking_eye: 😝 :stuck_out_tongue_closed_eyes: 😀 :grinning:
😗 :kissing: 😙 :kissing_smiling_eyes: 😛 :stuck_out_tongue:
@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);
}
}
@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 / 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 / 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 / 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 / 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>
{
...
namespace XamarinFormValidation.Behaviors
{
public class ValidationBehavior : Behavior<View>
{
...
public bool Validate()
{
bool isValid = true;
string errorMessage = "";
...
<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()
{
...
}