Search code examples
androidvalidationrobobinding

Validation in Robobinding framework (Android)


I'm newbie in Android develop. I use Robobinding (MVVM framework) to develop Android application and I didn't found any solution to create validation in presentation model (not in activity). Has anyone encountered a similar problem? Which approach is chosen? I need somthing like this:

public class LoginPM extends AbstractPresentationModel {
        private String login;
        public String getLogin() { return login; }
        public void setLogin(String value)
        {
            if (!StringComparator.IsEquals(this.login, value))
            {
                if(TextUtils.isEmpty(value))
                {
                 setError("login", "Field cannot be left blank.");
                 return;
                }
                this.login = value;
                firePropertyChange("login");
            }
        }
  }

Sample


Solution

  • I have resolved my task using reflection to getting user controls from binding-objects maps (Robobindings). https://github.com/Barbanyaga/RobobindingValidation/blob/master/BasePresentationModel.java

    Use like this:

    public class LoginPM extends BasePresentationModel {
            private String login;
            public String getLogin() { return login; }
            public void setLogin(String value)
            {
                if (!StringComparator.IsEquals(this.login, value))
                {
                    if(TextUtils.isEmpty(value))
                    {
                     setError("login", "Field cannot be left blank.");
                     return;
                    }
                    this.login = value;
                    firePropertyChange("login");
                }
            }
      }