如何在Jenkins上验证config.jelly中的表单?

时间:2013-02-22 17:01:25

标签: java validation plugins jenkins jelly

我可以从global.jelly文件中执行此操作,但它无法通过config.jelly运行。 以下是global.jelly文件的过程:

果冻:

<f:entry title="Value" field="value">
    <f:textbox />
</f:entry>

JAVA:

public static final class Descriptor extends BuildStepDescriptor<Builder>{

    //descriptor's code

    /**
     * Performs on-the-fly validation of the form field 'value'.
     * 
     * @param value
     *            This parameter receives the value that the user has typed.
     * @return Indicates the outcome of the validation. This is sent to the
     *         browser.
     */
    public FormValidation doCheckValue(@QueryParameter String value) throws IOException, ServletException {
        if(value.isEmpty()) {
            return FormValidation.warning("You must fill this box!");
        }
        return FormValidation.ok();
    }
}

当果冻代码放在配置文件(config.jelly)中时,这不再适用,无论doCheckValue方法是放在插件类中还是放在其描述符中。

1 个答案:

答案 0 :(得分:1)

以下是config.jelly文件的内容。 textbox有一个附加属性:checkUrl

果冻:

<f:entry title="Value" field="value">
    <f:textbox 
        checkUrl="'descriptorByName/NAME_OF_YOUR_JAVA_CLASS/checkValue?value='+escape(this.value)" />
</f:entry>

注意:this.value特定于Javascript。它获取value变量的。不要碰它。

Java 代码保持不变。