有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java验证可以与控制器中增强的参数一起使用吗?

我有一个网站模型,它有一个@Required User owner属性。此属性在控制器方法中填充。但是,在进入控制器方法时会检查验证,因此它会认为对象无效(因为当时它是无效的)

应该玩!验证是否可用于此目的

我是否应该删除@Valid注释并使用validation.required(website)手动检查

更新-使用validation.required(website)只会验证网站是否为空,但不会运行验证网站上的任何注释。如果我没有使用@Valid参数注释,这是否意味着我不能对模型本身使用基于注释的验证?程序员该怎么做

Update2-似乎我应该调用validation.valid(website),而不是validation.required(website)。我还向add()方法参数添加了一个@Required注释(而不是@Valid)。应该这样做吗

@Entity
public class Website extends PortalModel {
    @Required
    public String url;

    @Required
    @ManyToOne
    public User owner;
}

public class Sites extends UserAwareControllerBase {
    public static void added(@Valid Website website) {
        website.owner = getUser(); // from base class

        if (Validation.hasErrors()) {
            Validation.keep();
            params.flash();
            add();
        }

        websiteRepo.save(website);
        edit(website.id);
    }
}

共 (0) 个答案