0
입력 양식을 만들었습니다. 사용자가 값을 제출하고 유효성 검사를 통과하지 못하면 사용자의 원래 값을 표시하려면 어떻게해야합니까? 유효성 검사 오류 메시지가 "필드가 필요합니다"라고 올바르게 표시됩니다. 입력 양식으로 다시 전달하고 유효성 검증 오류를 표시하지만 사용자가 입력 한 값은 저장하지 않습니다.Play Framework 유효성 검사 : 다시 표시 입력
모델
@Entity
public class Question extends BaseModel {
@Required
@MaxSize(100)
public String title;
@Required
@MaxSize(5000)
public String txt;
}
감사관
public class Questions extends Controller {
public static void ask() {
Question question = new Question();
render(question);
}
public static void addQuestion(Question question) {
// save question
if (!question.validateAndSave()) {
params.flash();
Validation.keep();
ask();
}
Application.index();
}
}
당신이 Params.flash
를 호출 할 때
#{form @exchange.Questions.addQuestion()}
<label class="control-label" for="question.title">Question Title</label>
<input type="text" class="input-large" name="question.title" value="${question.title}" />
#{if errors.forKey('question.title')}<span class="alert-error"> #{error 'question.title'/}</span> #{/if}
<label class="control-label" for="question.txt">Details</label>
<textarea class="input-xxlarge span7" rows="6" name="question.txt">${question.txt}</textarea>
#{if errors.forKey('question.txt')}<br/><span class="alert-error"> #{error 'question.txt'/}</span> #{/if}
<button type="submit" class="btn btn-primary">Ask Question</button>
#{/form}
나는 $ {flash [ 'question.title']}'과'$ {flash [ 'question.txt']}'를 끝내야 만했다. 그런 다음 원본 입력이 나타납니다. – Ryan