2013-11-04 37 views
0

我有一個對象作爲字段的窗體的問題。當表單驗證時,僅檢測到字符串是一個字符串,但不是對象字段的限制。同樣的事情發生在繼承表單的對象上。對象作爲播放框架中的字段形式2

的形式和對象

public class Vehiculo extends Nodo { 

    @Required(message = "Este campo es requerido") 
    private Integer capacidad; 

    @Required(message = "Este campo es requerido") 
    private boolean disponible; 

    private String modelo; 

    @OneToOne 
    private Propietario propietario; 

    ... 
} 




public class Propietario { 

    @Id 
    private int id; 

    @Required(message = "Este campo es requerido") 
    private String nombre; 

    private Long telefono; 

    private String direccion; 

    ... 

} 

field.scala.html

@(elements: helper.FieldElements) 
<div class="form-group @if(elements.hasErrors) {error}"> 
    <label class="control-label col-lg-4">@elements.label</label> 
    <div class="col-lg-8"> 
     @elements.input 
     @if(elements.hasErrors) { <span class="help-block col-lg-6">@elements.errors.mkString(", ") </span> } 
    </div> 
</div> 

視圖

@form(action = routes.Administrador.ingresarVehiculo(),'class -> "form-horizontal", 'id -> "inline-validate"){ 
        <fieldset>       
         @inputText(field=vehiculoForm("propietario.nombre"), '_label -> "Nombre Completo (*)",'class -> "form-control col-lg-6") 
         @inputText(field=vehiculoForm("propietario.direccion"), '_label -> "Dirección",'class -> "form-control col-lg-6") 
         @inputText(field=vehiculoForm("propietario.telefono"), '_label -> "Telefono",'class -> "form-control col-lg-6")      
         @inputText(field=vehiculoForm("modelo"), '_label -> "Modelo",'class -> "form-control col-lg-6") 
         @inputText(field=vehiculoForm("capacidad"), '_label -> "Capacidad (*)",'class -> "form-control col-lg-6") 
         @select(field = vehiculoForm("disponible"),options = Seq("0"->"No", "1"->"Si"),'_label -> "Disponible")            
         @inputText(field=vehiculoForm("coordenadas.latitud"), '_label -> "Latitud (*)",'class -> "form-control col-lg-6") 
         @inputText(field=vehiculoForm("coordenadas.longitud"), '_label -> "Longitud (*)",'class -> "form-control col-lg-6") 
         @inputText(field=vehiculoForm("direccionReferencial"), '_label -> "Dirección Referencial",'class -> "form-control col-lg-6") 
         <div class="form-actions"> 
          <button type="submit" class="btn btn-success">Registrar</button> 
         </div> 
        </fieldset> 
       } 

我試圖把@Required形式,但沒有得到任何結果。我能做什麼?。謝謝。

回答

1

嘗試將javax.validation.Valid註釋放在對象字段上。像:

public class Vehiculo extends Nodo { 

    @Required(message = "Este campo es requerido") 
    private Integer capacidad; 

    @Required(message = "Este campo es requerido") 
    private boolean disponible; 

    private String modelo; 

    @Valid 
    @OneToOne 
    private Propietario propietario; 

    ... 
} 
+0

它的工作。非常感謝你。 – JohnPortella