3

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();
    }
}

doCheckValueこれは、メソッドがプラグインクラスに配置されているか、その記述子に配置されているかに関係なく、ゼリーコードが構成ファイル(config.jelly)に配置されている場合は適用されなくなりました。

4

1 に答える 1

2

config.jellyファイルを使用すると次のようになります。はtextbox1つの追加属性を取ります:checkUrl

ゼリー:

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

注:this.valueJavascriptに固有です。変数の値を取得しvalueます。触れないでください。

Javaコードは同じままです。

于 2013-02-22T17:01:24.767 に答える