Если вы не на Dribbble, то у полей должны быть четкие края, которые видны не только на Retina, но и на старых мониторах. (Советую проверять все оттенки серого).
Плейсхолдер в привычных полях не обязателен. Довольно глупо вставлять в поле с заголовком “Имя” плейсхолдер “Иван Иванов” или “Введите ваше имя” (пользователь не дурак).
Но в полях, где могут возникнуть вопросы, не помешает добавить пояснение. Например, если минимальная длина пароля 6 символов, неплохо бы об этом сообщить.
Хороший вариант – использовать плейсхолдер, который плавно становится заголовком.
Сообщения об ошибках выдавайте красным цветом под полем или в отдельном попапе. Не помешает окрасить рамку в красный.
Если все поля, кроме одного, обязательны, то не нужно ставить звездочку у каждого. Лучше напишите у единственного необязательного поля, что его можно пропустить. Если обязательных меньше, то ставьте звездочки у них, а лучше, и вовсе избегайте необязательных.
Не забывайте, что многие поля типизированы. Например, номер телефона или карты. Поэтому не помешает подстроиться под их формат. Благодаря этому, вы упростите процесс заполнения полей и избежите возможных ошибок.
Если поле часто редактируется, добавьте справа крестик, который будет его очищать.