在Xamarin.Forms企业应用程序中进行验证

  

中的验证方法,

在Xamarin的。形式企业应用程序中进行验证

public  interface  IValidationRule   {   ,,,string  ValidationMessage {组,得到,,,}   ,,,bool 检查(T 价值);   }

public  class  IsNotNullOrEmptyRule,:, IValidationRule   {   ,,,public  string  ValidationMessage {组,得到,,,}      ,,,public  bool 检查(T 价值)   ,,,{   ,,,,,,,if  (value ==, null)   ,,,,,,,{   ,,,,,,,,,,,return 假;   ,,,,,,,}      ,,,,,,,var  str =, value  as 字符串;   ,,,,,,,return  ! string.IsNullOrWhiteSpace (str);   ,,,}   }

public  ValidatableObject用户名   {   ,才能得到   ,,,{   ,,,,,,,return  _userName;   ,,,}   ,,,   ,,,{   ,,,,,,,=,_userName 价值;   ,,,,,,,RaisePropertyChanged((),=祝辞,用户名);   ,,,}   }

private  void  AddValidations ()   {   ,,,_userName.Validations.Add (new  IsNotNullOrEmptyRule< string>,   ,,,{,   ,,,,,,,ValidationMessage =,“A  username  is 必需的。”,   ,,,});   }

private  bool  ValidateUserName ()   {   ,,,return  _userName.Validate ();   }

public  bool 验证()   {   ,,,Errors.Clear ();      ,,,IEnumerable, errors =_validations   ,,,,,,,其中(v =祝辞,! v.Check(值))   ,,,,,,,.Select (v =祝辞,v.ValidationMessage);      ,,,Errors =, errors.ToList ();   ,,,IsValid =, ! Errors.Any ();      ,,,return  this.IsValid;   }

请查看属性变化是的触发验证。

在Xamarin的。形式企业应用程序中进行验证

  ,,,…   & lt;/Entry>

  ,,,,,,,& lt; DataTrigger    ,,,,,,,,,,,TargetType=叭肟凇?   ,,,,,,,,,,,绑定=" {Binding  UserName.IsValid} "   null   null   null   null   null   null   null   null

在Xamarin.Forms企业应用程序中进行验证