Yuvipanda has uploaded a new change for review.
https://gerrit.wikimedia.org/r/114730
Change subject: Use saripaar for validation before submitting
......................................................................
Use saripaar for validation before submitting
Change-Id: Ief393d9a5ed5259fdfe33dccb14c8380ba693f25
---
M pom.xml
M wikipedia/pom.xml
M wikipedia/res/values/strings.xml
M wikipedia/src/main/java/org/wikipedia/createaccount/CreateAccountActivity.java
4 files changed, 40 insertions(+), 1 deletion(-)
git pull ssh://gerrit.wikimedia.org:29418/apps/android/wikipedia
refs/changes/30/114730/1
diff --git a/pom.xml b/pom.xml
index 868f566..7d33b39 100644
--- a/pom.xml
+++ b/pom.xml
@@ -64,6 +64,11 @@
</exclusion>
</exclusions>
</dependency>
+ <dependency>
+ <groupId>com.mobsandgeeks</groupId>
+ <artifactId>android-saripaar</artifactId>
+ <version>1.0.2</version>
+ </dependency>
</dependencies>
</dependencyManagement>
diff --git a/wikipedia/pom.xml b/wikipedia/pom.xml
index c9baab4..c1934e1 100644
--- a/wikipedia/pom.xml
+++ b/wikipedia/pom.xml
@@ -71,6 +71,11 @@
</exclusion>
</exclusions>
</dependency>
+ <dependency>
+ <groupId>com.mobsandgeeks</groupId>
+ <artifactId>android-saripaar</artifactId>
+ <version>1.0.2</version>
+ </dependency>
</dependencies>
<build>
<finalName>${project.artifactId}</finalName>
diff --git a/wikipedia/res/values/strings.xml b/wikipedia/res/values/strings.xml
index 6567ebf..6899dce 100644
--- a/wikipedia/res/values/strings.xml
+++ b/wikipedia/res/values/strings.xml
@@ -89,4 +89,6 @@
<string name="dialog_create_account_checking_progress">Verifying</string>
<string name="create_account_email_hint">Email (Optional)</string>
<string name="create_account_password_repeat_hint">Repeat password</string>
+ <string name="create_account_passwords_mismatch_error">Passwords don\'t
match</string>
+ <string name="create_account_email_error">Invalid email address</string>
</resources>
diff --git
a/wikipedia/src/main/java/org/wikipedia/createaccount/CreateAccountActivity.java
b/wikipedia/src/main/java/org/wikipedia/createaccount/CreateAccountActivity.java
index 32001cd..b10db24 100644
---
a/wikipedia/src/main/java/org/wikipedia/createaccount/CreateAccountActivity.java
+++
b/wikipedia/src/main/java/org/wikipedia/createaccount/CreateAccountActivity.java
@@ -5,15 +5,23 @@
import android.support.v7.app.*;
import android.view.*;
import android.widget.*;
+import com.mobsandgeeks.saripaar.*;
+import com.mobsandgeeks.saripaar.annotation.*;
import org.mediawiki.api.json.*;
import org.wikipedia.*;
import org.wikipedia.editing.*;
public class CreateAccountActivity extends ActionBarActivity {
+ @Required(order=1)
private EditText usernameEdit;
+ @Required(order=2)
+ @Password(order=3)
private EditText passwordEdit;
+ @ConfirmPassword(order=4,
messageResId=R.string.create_account_passwords_mismatch_error)
private EditText passwordRepeatEdit;
+ @Email(order=5, messageResId=R.string.create_account_email_error)
private EditText emailEdit;
+
private View primaryContainer;
private WikipediaApp app;
@@ -25,6 +33,8 @@
private NonEmptyValidator nonEmptyValidator;
private CreateAccountResult createAccountResult;
+
+ private Validator validator;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
@@ -45,6 +55,23 @@
progressDialog.setMessage(getString(R.string.dialog_create_account_checking_progress));
captchaHandler = new CaptchaHandler(this, app.getPrimarySite(),
progressDialog, primaryContainer, R.string.create_account_activity_title);
+
+ validator = new Validator(this);
+ validator.setValidationListener(new Validator.ValidationListener() {
+ @Override
+ public void onValidationSucceeded() {
+ doCreateAccount();
+ }
+
+ @Override
+ public void onValidationFailed(View view, Rule<?> rule) {
+ if (view instanceof EditText) {
+ ((EditText) view).setError(rule.getFailureMessage());
+ } else {
+ throw new RuntimeException("This should not be happening");
+ }
+ }
+ });
nonEmptyValidator = new NonEmptyValidator(new
NonEmptyValidator.ValidationChangedCallback() {
@Override
@@ -113,7 +140,7 @@
finish();
return true;
case R.id.menu_create_account:
- doCreateAccount();
+ validator.validate();
return true;
}
return super.onOptionsItemSelected(item);
--
To view, visit https://gerrit.wikimedia.org/r/114730
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: Ief393d9a5ed5259fdfe33dccb14c8380ba693f25
Gerrit-PatchSet: 1
Gerrit-Project: apps/android/wikipedia
Gerrit-Branch: master
Gerrit-Owner: Yuvipanda <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits