2017-05-25 19 views
1

でパスワード検証を実装する方法を、私は、パターンのこの種の少なくとも一部 (number of characters, special characters, lowercase letters, uppercase letters) を含んパスワードパターンをしたいです。しかし、私はこれを達成することができません、助けてください。は、私はこの上<strong>パスワード検証</strong>を追加したいが、それを得ることに問題を取得アンドロイド

私は最も簡単な方法は、ポーリングを使用することですアンドロイドスタジオに

public class SignUp extends MainActivity { 
    private EditText et_name, et_email, et_password, et_cpassword; 
    private String name, email, password, cpassword; 
    Button signupbtn; 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.sign_up_form); 
    et_name = (EditText) findViewById(R.id.name); 
    et_email = (EditText) findViewById(R.id.Email); 
    et_password = (EditText) findViewById(R.id.Password); 
    et_cpassword = (EditText) findViewById(R.id.Confirm_Password); 
    signupbtn = (Button) findViewById(R.id.Signbtn); 
    signupbtn.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      register(); 
     } 
    }); 
} 

public void register() { 
    initialise(); 
    if (!validate()) { 
     Toast.makeText(this, "Sign up Failed", Toast.LENGTH_SHORT).show(); 
    } else { 
     onSignUpSuccess(); 
    } 
} 

public void onSignUpSuccess() { 
    Intent intent = new Intent(SignUp.this, HomePage.class); 
    startActivity(intent); 
    finish(); 
} 

public boolean validate() { 
    boolean valid = true; 
    if (name.isEmpty() || name.length() > 32) { 
     et_name.setError("please enter valid name"); 
     valid = false; 
    } 
    if (email.isEmpty() || !Patterns.EMAIL_ADDRESS.matcher(email).matches()) { 
     et_email.setError("please enter valid Email"); 
     valid = false; 
    } 
    if (password.isEmpty()) 
     et_password.setError("please enter a valid password"); 
    return valid; 
} 
public void initialise(){ 
    name = et_name.getText().toString().trim(); 
    email = et_email.getText().toString().trim(); 
    password = et_password.getText().toString().trim(); 
    cpassword = et_cpassword.getText().toString().trim(); 
} 
} 
+0

わかりませんhttps://docs.djangoproject.com/en/1.11/topics/signals/(JSのようなイベント)とhttps://docs.python.org/2/library/io.htmlを見てください。 – oneturkmen

+0

最初の考えでリアルタイムにデータを取得するには、XMLHTTPリクエストが必要です。バニラのjavascriptでこれを行うには、各ブラウザにXMLHTTPリクエストの作成方法に関する独自のアイデアがあるので問題があります。 – Raptus

答えて

1

を使用しています。 JavaScriptを使用してインターバルを設定し、そのインターバル内でAJAXリクエストをサーバーに送信してデータを取得し、必要に応じてデータが変更されたためにテーブルを更新するだけです。 だから、JSでこのような何か:

// interval of one minute 
setInterval(function() { 
    // starts the AJAX request 
    // get the response 
// if something has changed, update the table 
}, 60 * 1000); 

これが最も簡単な方法である場合でも、いつでも、何も起こらなかった場合でも、サーバーへのリクエストを開始します機能を持つことになりますので、それは実際には最高のものではありません。

最良の解決策は、Webソケットを設定し、データが変更されたときにサーバーから直接通知を受け取ることです。

あなたにもすでにジャンゴで行わ何かを持っているようだが、私はので、多分あなたは、この記事を見てもよい、それの専門家ではないです:これらのオプションの両方が役立つ場合

https://blog.heroku.com/in_deep_with_django_channels_the_future_of_real_time_apps_in_django

関連する問題

 関連する問題