用戶端 API 控制

Power Pages 用戶端 API 控制項實作此Control介面,提供管理表單值、狀態、可見性、需求及驗證的常用方法。 使用此參考資料來識別可用的方法與返回類型。 關於控制項專屬的值類型及其他成員,請參見 客戶端 API 控制類型。

方法 Returns Description
getDisabled() boolean 若控制項被禁用,則返回 true ;否則返回 false。
getRequired() boolean 若需要控制項,則返回 true ;否則返回 false。
getVisible() boolean 若控制項可見,則返回 true ;否則返回 false。
getName() string 回傳控制組名稱。
getType() string | undefined 回傳控制類型,例如 MultiSelectPicklist,或 undefined 當該類型不可用時。 請參見 用戶端 API 控制類型。
getLogicalName() string | undefined 當邏輯名稱不可用時,會回傳控制項的邏輯名稱 undefined 。
getValue() Varies 取回當前值。 回傳類型取決於 控制類型。
setDisabled(isDisabled: boolean) void 設定控制項的停用狀態。
setRequired(isRequired: boolean, errorMessage?: string) void 設定控制所需的狀態。 更多資訊請參閱 setRequired方法參數。
setVisible(isVisible: boolean) void 設定控制點的可見度。
setValue(value) void 設定了一個新的價值。 期望值類型取決於 控制類型。
addValidator(id: string, evaluationFn: function, errorMessage: string) void 在此控制實例上註冊一個自訂的用戶端驗證器。 欲了解更多資訊,請參閱 addValidator 方法參數。
removeValidator(id: string) void 從此控制實例中移除依 ID 的自訂驗證器。 當 ID 不存在時,它什麼都沒用。
clearValidators() void 移除所有新增到此控制實例的自訂驗證器。addValidator 這不會影響管理 setRequired 所需的驗證者。

setRequired方法參數

參數 類型 Description
isRequired 布爾 指定是否需要控制。
errorMessage 字串 (選擇性) 本地化驗證訊息。 預設值為 <field name> is a required field.

當 為真時 isRequired ,客戶端 API 會註冊一個驗證器,該驗證器在表單提交時執行。 當驗證者為假時,驗證者會被移除。 當伺服器標記為必需時,你無法將控制項設為可選。

addValidator 方法參數

參數 類型 Description
id 字串 目前控制實例上的唯一識別碼。 一個擁有相同 ID 的新驗證器會取代現有的驗證器。
evaluationFn 函式 接收控制值並在值有效時回傳 true。
errorMessage 字串 驗證失敗時,出現在驗證摘要中的訊息。

重要

在替換或移除驗證者時,保留並重複使用同 Control 一個物件實例。 每次存取 form.controls 與呼叫 getControlByLogicalName 都會回傳一個新的控制面貌。

若評估函式或 getValue 方法拋出錯誤,驗證失敗,瀏覽器主控台會記錄錯誤。

Microsoft.PowerPages.onPagesClientApiReady(async function ($pages) {
    const form = $pages.currentPage.forms.getFormById('form_#1');
    const control = form.getControlByLogicalName('new_keyword');

    control.setRequired(true, 'This field is mandatory.');
    control.addValidator(
        'keywordCheck',
        (value) => ['alpha', 'beta', 'gamma'].includes(value),
        'Value must be one of: alpha, beta, gamma.'
    );
});