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

Reply via email to