Android против JS: проверка библиотеки - PullRequest
0 голосов
/ 30 сентября 2019

У JS есть проверка lib: validator https://www.npmjs.com/package/validator

Есть ли в Android что-нибудь подобное? Как называется Android в lib?

1 Ответ

0 голосов
/ 30 сентября 2019

Вы можете использовать

android:inputType="textPersonName"

в вашем EditText в файле макета xml

, и если вы хотите использовать валидатор в Java, вы можете использовать

public class MainActivity extends AppCompatActivity implements Validator.ValidationListener {

@NotEmpty
@Length(min = 3, max = 10)
private EditText editTextUsername;

@NotEmpty
@Password
@Pattern(regex = "((?=.*\\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%]).{6,20})")
private EditText editTextPassword;

@ConfirmPassword
private EditText editTextConfirmPassword;

@NotEmpty
@Pattern(regex =  "^\\(?([0-9]{3})\\)?[-.\\s]?([0-9]{3})[-.\\s]?([0-9]{4})$")
private EditText editTextPhone;

@Min(18)
@Max(120)
private EditText editTextAge;

@NotEmpty
@Email
private EditText editTextEmail;

@Url
private EditText editTextWebsite;

@Checked
private CheckBox checkBoxAgree;

private Button buttonSave;

private Validator validator;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    initView();
    validator = new Validator(this);
    validator.setValidationListener(this);
}

private void initView() {
    editTextUsername = findViewById(R.id.editTextUsername);
    editTextPassword = findViewById(R.id.editTextPassword);
    editTextConfirmPassword = findViewById(R.id.editTextConfirmPassword);
    editTextAge = findViewById(R.id.editTextAge);
    editTextPhone = findViewById(R.id.editTextPhone);
    editTextEmail = findViewById(R.id.editTextEmail);
    editTextWebsite = findViewById(R.id.editTextWebsite);
    checkBoxAgree = findViewById(R.id.checkBoxAgree);
    buttonSave = findViewById(R.id.buttonSave);
    buttonSave.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            buttonSave_onClick(view);
        }
    });
}

private void buttonSave_onClick(View view) {
    validator.validate();
    String username = editTextUsername.getText().toString();
    if (username.equalsIgnoreCase("pmk")) {
        editTextUsername.setError(getText(R.string.username_already_exists));
    }
}

@Override
public void onValidationSucceeded() {
    Toast.makeText(this, "We got it right!", Toast.LENGTH_SHORT).show();
}

@Override
public void onValidationFailed(List<ValidationError> errors) {
    for (ValidationError error : errors) {
        View view = error.getView();
        String message = error.getCollatedErrorMessage(this);
        // Display error messages
        if (view instanceof EditText) {
            ((EditText) view).setError(message);
        } else {
            Toast.makeText(this, message, Toast.LENGTH_LONG).show();
        }
    }
}

}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...