Play Framework 2: la mejor forma de validar campos de modelos individuales por separado
Para este ejemplo, supongamos que el usuario desea actualizar solo el nombre de su perfil en línea.
Formar:
<form data-ng-submit="updateFirstName()">
<label for="firstName">First name<label>
<input type="text" name="title" data-ng-model="firstName">
<button type="submit">Update first name</button>
</form>
Controlador:
public class UsersController {
public static Result updateFirstName() {
Form<User> filledForm = Form.form(User.class).bindFromRequest();
// TODO: Validate firstName
// if hasErrors() return bad request with errors as json
// else save and return ok()
}
}
Modelo:
@Entity
public class User extends Model {
@Id
public Long id;
@Constraints.Required
public String firstName;
@Constraints.Required
public String lastName;
}
¿Cómo se podría validar solo un campo a la vez contra las restricciones del modelo y devolver cualquier mensaje de error resultante como json? Este es un ejemplo bastante simple, lo real tendrá muchos campos (algunos muy complejos) junto con un formulario para cada uno.