No, this seems not to be a good practice.
In the article from Nielsen Norman Group, "Placeholders in Form Fields Are Harmful", in the list of seven reasons why placeholders should not be used, the last ones explain not only why you need labels, but why is bad to have not empty inputs:
- Fields with stuff in them are less noticeable.
Eyetracking studies show that users’ eyes are drawn to empty fields. At the minimum, users will spend more time locating a non-empty field — a nuisance. At the worst, they will overlook the field completely—a potential business-killing disaster.
- Users may mistake a placeholder for data that was automatically filled in.
When there is already text in the field, people are less likely to realize that they can type there. Some users assume the placeholder text is a default value and skip the field completely.
Placeholder Text in Addition to Labels
Using placeholder text in combination with form labels is a step in
the right direction. (...) However, even when
using labels, placing important hints or instructions within a form
field can still cause the 7 issues mentioned above, albeit with less
On the other hand, I saw that a good solution for the placeholder text is considered by some designers a floating label. The placeholder text is actually the label showing by default, but once an input field is tapped and text is entered the placeholder text fades out and a top aligned label animates in.
In this article, "Float Label Pattern", Brad Frost has some good pro/con arguments:
The Float Label Pattern
Float Label Pros
User keeps context–The main advantage of this pattern is that the user
keeps the field’s context after they’ve focused and entered a value.
This provides for a more accessible, less frustrating experience.
Clean and scannable by default–This pattern allows for a clean inline
label experience by default, and only becomes a little more cluttered
once the user has filled things out.
Elegent–It needs to be said: this pattern is sexy. You usually can’t
say that about forms. It looks good and the animations are a nice
Float Label Cons
Still doesn’t provide room for both label and placeholder–Because the
label is occupying the same space as the placeholder, there’s no room
for additional hinting.
Small Label–The label becomes small and possibly hard to read, but at
the same time it’s not as big a deal. Once the user has interacted
with the input, the label becomes a reference rather than an
instruction. Potential for code abuse–Based on the few demos I’ve
seen, there’s the possibility of wrecking accessibility and semantics.