2014-02-07 58 views
0

我想在PCL項目的屬性內做一個簡單的驗證。驗證在物業水平

我在這裏做這個驗證的原因是,我可以將它用於Android和IOS等其他平臺。

下面是我的代碼,我到目前爲止已經試過:

private string _mobileNumber; 
     public string MobileNumber 
     { 
      get { return _mobileNumber; } 
      set { _mobileNumber = MobileNumberValidation(value); RaisePropertyChanged(() => MobileNumber); } 
     } 

驗證方法:

public string MobileNumberValidation(string theMobileNumber) 
     {   
      Regex regexExpression = new Regex(@"^(\+91[\-\s]?)?[89]\d{9}$"); 
      regexExpression.IsMatch(theMobileNumber); 
      return "Heck its works "; 
     } 

糾正我,如果我的做法是錯誤的?

+0

我看不出這裏有什麼驗證碼 –

+2

好吧,如果你真的想這樣做的,你的'MobileNumberValidation'方法應該返回真/假。並且在你的屬性設置器中,只有在返回true時更新值&raise'propertychanged' –

回答

1

試試這個:

private string _mobileNumber; 

public string MobileNumber 
{ 
    get { return _mobileNumber; } 
    set 
    { 
     if (!MobileNumberValidation(value)) 
     throw new Exception("Invalid mobile number"); 

     _mobileNumber = value; 
     RaisePropertyChanged(() => MobileNumber); 
    } 
} 

private bool MobileNumberValidation(string theMobileNumber) 
{   
    Regex regexExpression = new Regex(@"^(\+91[\-\s]?)?[89]\d{9}$"); 
    return regexExpression.IsMatch(theMobileNumber); 
}