2012-05-11 2 views
0

Я пробовал использовать этот фрагмент кода для проверки подлинности электронной почты, но он, похоже, не работает или не показывает никаких валидаций.Проверка подлинности электронной почты в приложении blackberry

EmailAddressEditField email=new EmailAddressEditField("Email Address: ", ""); 

     String address =email.getText(); 
     int at = address.indexOf("@"); 
     int len = address.length(); 
     String host = address.substring(at + 1, len); 
     int dot = host.lastIndexOf('.'); 
     len = host.length(); 

     if (at <= 0 || at > len - 6 && dot < 0 || dot >= len - 3) 
      Dialog.alert("Invalid email"); 
     else 
     { 
      if (host.indexOf("..") >= 0) 
      { 
       Dialog.alert("Invalid email"); 
      } 
      else 
      { 
       //correct mail id.. continue your process 

      } 
     } 

После того, как я добавлю (email); он дает мне ошибку диалога с недействительным адресом электронной почты, как только открывается форма. Пожалуйста, предложите мне правильную проверку электронной почты для поля textfield/emailaddresseditfield, который показывает подтверждение, как только вводится неправильный ввод в поле. Спасибо

ПРИМЕЧАНИЕ: Вышеприведенный код был взят из предыдущего запроса аналогичного шаблона из stackoverflow.http: //stackoverflow.com/questions/7580257/validation-for-email-in-blackberry. Не предлагайте никаких переадресаций на тот же ответ. Спасибо.

+0

Возможный дубликат [@ подтверждение для электронной почты в BlackBerry] (http://stackoverflow.com/questions/7580257/validation-for-email-in-blackberry) –

+0

Я заметил выше, что я ищу другой ответ, чем эта ссылка. И предоставленный ответ дает мне ошибку во время выполнения. Пожалуйста, правильно прочитайте запрос до начала опроса. –

+0

Ваши цели находятся в противоречии. Пустая строка - это недопустимый адрес электронной почты, но вы хотите «показать подтверждение, как только вводится неправильный ввод», что и делает ваш код. Проблема с вашими целями заключается в том, что префикс допустимого адреса электронной почты недействителен, поэтому вы не можете принудительно заставить пользователя иметь действительный адрес электронной почты в поле. –

ответ

2

Я не уверен, как это работает на BlackBerry, но для проверки подлинности электронной почты я всегда использовал выражения regexp. Here is an example.

+0

Я не очень смотрю на эту методологию разработки. Спасибо за ответ. –

+0

Это правильный способ проверки адреса электронной почты – Mayank

0

Попробуйте этот фрагмент кода (подобный код, но немного изменены):

/** 
    * Validates an email address. Checks that there is an "@" 
    * in the field and that the address ends with a host that 
    * has a "." with at least two other characters after it and 
    * no ".." in it. More complex logic might do better. 
    */ 
    public boolean isDataValid() { 
    String address = email.getText(); 
    int at = address.indexOf("@"); 
    int len = address.length(); 
    if (at <= 0 || at > len - 6) return false; 
     String host = address.substring(at + 1, len); 
    len = host.length(); 
    if (host.indexOf("..") >= 0) return false; 
    int dot = host.lastIndexOf("."); 
    return (dot > 0 && dot <= len - 3); 
    } 

Затем вызовите этот метод, с его возвращения истинным или ложным, на основании результата.

Смежные вопросы