2014-02-07 4 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' должен возвращать истина/ложь. И в вашем устройстве настройки свойств обновляется только значение value & raise 'propertychanged', когда true –

ответ

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); 
} 
Смежные вопросы