Anne Gunn
Anne Gunn

Reputation: 2447

Android: need to validate an edittext for non-blank input

If I want to enforce a maximum length of input in an EditText field, I can use the maxLength attribute. But if I want to enforce a minimum length (in my case, simply non-blank), I find no corresponding minLength attribute.

I've also looked at the various 'inputType' attributes (phone, password, etc) but I don't see anything like 'required' or 'non-blank'.

I can't believe this would require a custom input filter; it's more likely the answer is so obvious it just doesn't get written down in the form I'm asking the question.

Upvotes: 3

Views: 14831

Answers (2)

Tivie
Tivie

Reputation: 18923

Carefull with something though. If you have a submit button, for instance, and your user presses submit without changing the focus out of your TextEdit, your method won't be called.

Take an Activity with 2 EditTexts and 1 button named "Go":

1) User writes something in EditText1

2) User clicks on EditText2

3) Instead of writting something there just clicks go.

Your onFocusChanged() method won't be called because focus is not "lost".

If you have a validation in your Go button_click method, it will trigger, of course, but you won't achieve your goal "I was looking/hoping for was a way to give instant feedback"

You can try using TextWatcher.

Upvotes: 1

jqpubliq
jqpubliq

Reputation: 11904

You can simply check that yourField.text() is not equivalent to null or "" at the point of submission. If it is, prompt the user to input something.

Upvotes: 1

Related Questions