我想在此添加密码验证,但在获取它时出现问题,我想要一个密码模式,其中包括至少一些
(number of characters, special characters, lowercase letters, uppercase letters
)
这种模式。但我无法解决这个问题,请帮忙。
我正在使用android studio
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 :(得分: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套接字,并在某些数据发生变化时直接从服务器接收通知。
看来你还有django已经做过的事,但我不是它的专家,所以也许你可以看一下这篇文章:
https://blog.heroku.com/in_deep_with_django_channels_the_future_of_real_time_apps_in_django