Amandeep Singh
Amandeep Singh

Reputation: 3840

Validation in GWT

I am using GWT and want to so validation of email using the java code i.e. using the regular expressions,but when I am using the code:

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package org.ArosysLogin.client;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class EmailValidator{

      private Pattern pattern;
      private Matcher matcher;

      private static final String EMAIL_PATTERN =
                   "^[_A-Za-z0-9-]+(\\.[_A-Za-z0-9-]+)*@[A-Za-z0-9]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$";

      public EmailValidator(){
          pattern = Pattern.compile(EMAIL_PATTERN);
      }

      /**
       * Validate hex with regular expression
       * @param hex hex for validation
       * @return true valid hex, false invalid hex
       */
      public boolean validate(final String hex){

          matcher = pattern.matcher(hex);
          return matcher.matches();


      }
}

.It is giving me run time error in the build.xml.Can you please tell me why this is occurring and what is its solution.

Upvotes: 4

Views: 4606

Answers (4)

Malcolm Murray
Malcolm Murray

Reputation: 388

Try something like this:

if(email.matches("^[_A-Za-z0-9-]+(\\.[_A-Za-z0-9-]+)*@[A-Za-z0-9]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$")){
    GWT.log("Email Address Valid");
}else{
 GWT.log("Email Address Invalid");
 valid = false;
}

Upvotes: 1

survi
survi

Reputation: 152

This is code is for validating email id. I have checked it. It's working fine in GWT.

String  s ="[email protected]";
Boolean b = s.matches(
 "^[_A-Za-z0-9-]+(\\.[_A-Za-z0-9-]+)*@[A-Za-z0-9]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$");
System.out.println("email is " + b);

Upvotes: 6

RalfWestbrock
RalfWestbrock

Reputation: 113

According to the documentation, it should not work. But I accidentially found that you can also use java.lang.String's matches method.

So, you could do this:

public boolean validate(final String hex){
  return ((hex==null) || hex.matches(EMAIL_PATTERN));
}

Upvotes: 1

Peter Knego
Peter Knego

Reputation: 80340

Java regex is not available in GWT. You should use GWT's RegExp.

Upvotes: 10

Related Questions