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.'
);
});