Play Framework 2: лучший способ проверки отдельных полей модели отдельно
Для этого примера предположим, что пользователь хотел бы обновить только имя своего онлайн-профиля.
Форма:
<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>
контроллер:
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()
}
}
Модель:
@Entity
public class User extends Model {
@Id
public Long id;
@Constraints.Required
public String firstName;
@Constraints.Required
public String lastName;
}
Как можно было бы проверять только одно поле за раз на соответствие ограничениям моделей и возвращать все полученные сообщения об ошибках обратно как json? Это довольно простой пример, реальная вещь будет иметь много полей (некоторые очень сложные) вместе с формой для каждого.