continue train's pull request about maxlength and add placeholder