Skip to content

Commit

Permalink
added possibility to setup error message in validator's constructors
Browse files Browse the repository at this point in the history
  • Loading branch information
veelck committed Jun 13, 2013
1 parent a9c8023 commit 680c45f
Show file tree
Hide file tree
Showing 7 changed files with 69 additions and 31 deletions.
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
package com.throrinstudio.android.common.libs.validator.validator;

import java.util.regex.Pattern;

import android.content.Context;

import com.throrinstudio.android.common.libs.validator.AbstractValidator;
import com.throrinstudio.android.example.validator.R;

import java.util.regex.Pattern;

/**
* Validator to check if a field contains only numbers and letters.
* Avoids having special characters like accents.
Expand All @@ -23,6 +24,11 @@ public AlnumValidator(Context c) {
super(c);
}

public AlnumValidator(Context c, int errorMessage) {
super(c);
mErrorMessage = errorMessage;
}

@Override
public boolean isValid(String value) {
return mPattern.matcher(value).matches();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,47 +11,52 @@
public class EmailValidator extends AbstractValidator {

private int mErrorMessage = R.string.validator_email;


private String mDomainName = "";

public EmailValidator(Context c) {
super(c);
}


public EmailValidator(Context c, int errorMessage) {
super(c);
mErrorMessage = errorMessage;
}

@Override
public boolean isValid(String charseq) {
if(charseq.length() > 0 ){
boolean matchFound = false;

//Input the string for validation
String email = charseq.toString();

if(mDomainName != null && mDomainName.length() > 0){
//Test avec le domaine

//Set the email pattern string
Pattern p = Pattern.compile(".+@"+mDomainName);
//Match the given string with the pattern
Matcher m = p.matcher(email);
//check whether match is found
//check whether match is found
matchFound = m.matches();

if (matchFound)
return true;
else
return false;
}else{
//test sans le domaine

//Set the email pattern string
Pattern p = Pattern.compile(".+@.+\\.[a-z]+");
//Match the given string with the pattern
Matcher m = p.matcher(email);
//check whether match is found
//check whether match is found
matchFound = m.matches();
}

if (matchFound)
return true;
else
Expand All @@ -60,17 +65,17 @@ public boolean isValid(String charseq) {
return true;
}
}

@Override
public String getMessage() {
return mContext.getString(mErrorMessage);
}

/**
* Lets say that the email address must be valid for such domain.
* This function only accepts strings of Regexp
* @param name Regexp Domain Name
*
*
* example : gmail.com
*/
public void setDomainName(String name){
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
package com.throrinstudio.android.common.libs.validator.validator;

import java.util.regex.Pattern;

import android.content.Context;

import com.throrinstudio.android.common.libs.validator.AbstractValidator;
import com.throrinstudio.android.example.validator.R;

import java.util.regex.Pattern;


public class HexValidator extends AbstractValidator {

Expand All @@ -20,6 +21,11 @@ public HexValidator(Context c) {
super(c);
}

public HexValidator(Context c, int errorMessage) {
super(c);
mErrorMessage = errorMessage;
}

@Override
public boolean isValid(String value) {
return mPattern.matcher(value).matches();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,14 +6,19 @@
import com.throrinstudio.android.example.validator.R;

public class NotEmptyValidator extends AbstractValidator {

private int mErrorMessage = R.string.validator_empty;


public NotEmptyValidator(Context c) {
super(c);
}


public NotEmptyValidator(Context c, int errorMessage) {
super(c);
mErrorMessage = errorMessage;
}

@Override
public boolean isValid(String value) {
if(value != null){
Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
package com.throrinstudio.android.common.libs.validator.validator;

import java.util.regex.Pattern;

import android.content.Context;
import android.util.Patterns;

import com.throrinstudio.android.common.libs.validator.AbstractValidator;
import com.throrinstudio.android.common.libs.validator.ValidatorException;
import com.throrinstudio.android.example.validator.R;

import java.util.regex.Pattern;

/**
* Validator to check if Phone number is correct.
* Created by throrin19 on 13/06/13.
Expand All @@ -22,6 +23,11 @@ public PhoneValidator(Context c) {
super(c);
}

public PhoneValidator(Context c, int errorMessage) {
super(c);
mErrorMessage = errorMessage;
}

@Override
public boolean isValid(String value) throws ValidatorException {
return mPattern.matcher(value).matches();
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
package com.throrinstudio.android.common.libs.validator.validator;

import java.util.regex.Pattern;

import android.content.Context;

import com.throrinstudio.android.common.libs.validator.AbstractValidator;
import com.throrinstudio.android.common.libs.validator.ValidatorException;
import com.throrinstudio.android.example.validator.R;

import java.util.regex.Pattern;

/**
* This validator test value with custom Regex Pattern.
*/
Expand All @@ -21,6 +22,11 @@ public RegExpValidator(Context c) {
super(c);
}

public RegExpValidator(Context c, int errorMessage) {
super(c);
mErrorMessage = errorMessage;
}

public void setPattern(String pattern){
mPattern = Pattern.compile(pattern);
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,24 +1,28 @@
package com.throrinstudio.android.common.libs.validator.validator;

import java.util.regex.Pattern;

import android.content.Context;
import android.util.Patterns;
import android.webkit.URLUtil;

import com.throrinstudio.android.common.libs.validator.AbstractValidator;
import com.throrinstudio.android.example.validator.R;

import java.util.regex.Pattern;

public class UrlValidator extends AbstractValidator {

private static Pattern mPattern = Patterns.WEB_URL;

private int mErrorMessage = R.string.validator_url;

public UrlValidator(Context c) {
super(c);
}


public UrlValidator(Context c, int errorMessage) {
super(c);
mErrorMessage = errorMessage;
}

@Override
public boolean isValid(String url) {
return mPattern.matcher(url).matches();
Expand Down

0 comments on commit 680c45f

Please sign in to comment.