Skip to content

Instantly share code, notes, and snippets.

@julianfalcionelli
Created January 5, 2017 14:01
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save julianfalcionelli/55cee0de71c7686d6abcad55efa30dbf to your computer and use it in GitHub Desktop.
Save julianfalcionelli/55cee0de71c7686d6abcad55efa30dbf to your computer and use it in GitHub Desktop.
Magic Form Example
package com.dummyapp;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import java.util.List;
import julianfalcionelli.magicform.MagicForm;
import julianfalcionelli.magicform.base.FormError;
import julianfalcionelli.magicform.base.FormField;
import julianfalcionelli.magicform.base.ValidatorCallbacks;
import julianfalcionelli.magicform.validation.Validation;
import julianfalcionelli.magicform.validation.ValidationMinLength;
import julianfalcionelli.magicform.validation.ValidationNotEmpty;
public class MainActivity extends AppCompatActivity implements ValidatorCallbacks {
public final static String TAG = MainActivity.class.getName();
protected Button mButton;
private MagicForm mMagicForm;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
EditText dummyEditText2 = (EditText) findViewById(R.id.mainActivity_dummyEditText2);
mMagicForm = new MagicForm()
.addField(new FormField(this, R.id.mainActivity_dummyEditText1)
.addValidation(new ValidationMinLength(4).setMessage(getString(R.string.invalid_length))))
.addField(new FormField(dummyEditText2)
.addValidation(new ValidationNotEmpty().setMessage("Required Field"))
.addValidation(new Validation<EditText>() {
@Override
public boolean isValid(EditText editText) {
return editText.getText().toString().equals("randomText");
}
}))
.setListener(this);
mButton = (Button) findViewById(R.id.mainActivity_button);
mButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mMagicForm.validate();
}
});
}
@Override
public void onSuccess() {
Log.i(TAG, "MagicForm - onSuccess");
//TODO: Do something, move to next screen, make API call, etc
}
@Override
public void onFailed(List<FormError> errors) {
Log.i(TAG, "MagicForm - onFailed");
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment