Spring MVC 3.1을 사용하고 Bean 유효성 검사를 사용하여 유효성을 검사하는 양식의 객체 목록에 여러 필드를 바인딩하려고합니다.Spring MVC Form은 두 개 이상의 필드 그룹을 객체 목록에 바인딩합니다.
하지만 여러 필드를 단일 개체와 이러한 개체 목록에 바인딩하는 방법을 모르겠습니다.
HTML 형태 :
이<form method="post" action="#" id="phoneForm">
<table>
<tr>
<td><label for="mobilePhone">Mobile</label></td>
<td>
<input type="text" class="mp_phone" name="mobilePhone" id="mobilePhone" value="" />
</td>
<td><label for="mobilePhone_p">Preferred phone number</label> <input type="radio" name="num_p" id="mobilePhone_p" value="mobilePhone_p" /></td>
</tr>
<tr>
<td><label for="personalPhone">Personal</label></td>
<td>
<input type="text" class="mp_phone" name="personalPhone" id="personalPhone" value="" />
</td>
<td><label for="personalPhone_p">Preferred phone number</label> <input type="radio" name="num_p" id="personalPhone_p" value="personalPhone_p" /></td>
</tr>
<tr>
<td><label for="workPhone">Work</label></td>
<td>
<input type="text" class="mp_phone" name="workPhone" id="workPhone" value="" />
</td>
<td><label for="workPhone_p">Preferred phone number</label> <input type="radio" name="num_p" id="workPhone_p" value="workPhone_p" /></td>
</tr>
</table>
<button type="submit" id="validateFormButton">Submit</button>
</form>
내 양식 :
이public class PhoneForm {
@NotEmpty
@Valid
private List<Phone> phonesList = new LinkedList<Phone>();
// getter/setter...
}
전화 클래스 : 내가 좋아하는 것
public class Phone {
@PhoneNumber
protected String phoneNumber;
@NotNull
protected Boolean prefferedNumber;
// getter/setter...
}
가 만드는 :
Phone
의 인스턴스는mobilePhone
및mobilePhone_p
의 params 형식입니다.Phone
의 인스턴스는personalPhone
이고personalPhone_p
은 params입니다.Phone
의 인스턴스는workPhone
이고workPhone_p
은 params입니다.
이 인스턴스는 각각 PhoneForm
의 목록에 추가되어야합니다.
어떻게 수행하나요?
내 스프링 MVC 컨트롤러에서 @Valid PhoneForm phoneForm
주석을 사용하여 내 콩의 유효성을 검사 할 수 있도록이 양식 구조를 사용합니다. 사용자가 설정 한 휴대 전화를 하나 이상 확인하고 싶기 때문에 목록을 사용하고 있습니다.
감사합니다.필자는 분리 된 필드를 사용하기 시작했지만 필자는 필자의 목록을 작성하고 여러 조건을 검증하기 위해 주석을 달아주는 getter를 만들지 않을 것이라고 생각합니다. – Aure77