Skip to content

Instantly share code, notes, and snippets.

View wellingtoncosta's full-sized avatar

Wellington Costa wellingtoncosta

View GitHub Profile
private static final String PHONE_PATTERN = "^\\([1-9]{2}\\)?([0-9]{9})$";
@NotEmptyValidation(R.string.field_required)
@LengthValidation(min = 3, errorMessage = R.string.min_3_characters)
TextInputLayout nameLayout;
@OnlyNumberValidation(R.string.only_numbers)
TextInputLayout ageLayout;
@EmailValidation(R.string.invalid_email)
private ConvalidaValidator validator;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_sample);
validator = Convalida.init(this);
}
public void validateFields() {
boolean isValid = validator.validateFields();
String message = isValid ? "Yay!" : "Something is wrong :(";
Snackbar.make(linearLayout, message, Snackbar.LENGTH_LONG).show();
}
public void clearFields() {
validator.clearValidations();
}
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
...
}
}
dependencies {
compile 'com.github.WellingtonCosta.convalida:convalida:1.0.3'
annotationProcessor 'com.github.WellingtonCosta.convalida:convalida-compiler:1.0.3'
}
android {
...
dataBinding {
enabled true
}
}
dependencies {
...
kapt 'com.android.databinding:compiler:3.1.3'
}
data class Contact(var name: String, var email: String, var phone: String)
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/hello_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:id="@+id/txt_hello"