オブジェクトをフィールドとして持つフォームに問題があります。フォームのバリデーションでは文字列であるフィールドのみエラーが検出され、オブジェクトであるフィールドの制限は検出されません。フォームを継承するオブジェクトでも同じことが起こります。
フォームとオブジェクト
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 をフォームに入れようとしましたが、結果が得られません。私は何ができますか?ありがとう。