Constants and utilities
- FaMimeType contains MIME constants used by upload APIs.
- RegExps contains shared validators for mainland Chinese mobile numbers, email, password strengths, six-digit verification codes, four-character image codes, and other common values.
- Decimal reexports decimal.js for upload progress and application calculations.
formUtil.validate Validate
Validates an entire mounted ElForm.
Signature
validate(ref: Readonly<Ref<FormInstance | null | undefined>>): FormValidationResult;Example
import { ref } from "vue";
import { formUtil } from "fast-element-plus";
import type { FormInstance } from "element-plus";
const formRef = ref<FormInstance>();
const result = await formUtil.validate(formRef);Input
| Input | Type | Required / default | Description |
|---|---|---|---|
ref | Readonly<Ref<FormInstance | null | undefined>> | Required | ElForm instance ref. |
Returns
| Value | Type | Description |
|---|---|---|
result | FormValidationResult | Resolves true when valid; rejects with invalidFields when invalid or Error when unmounted. |
formUtil.validateScrollToField Validate
Validates the form and scrolls to an invalid field on failure.
Signature
validateScrollToField(ref: Readonly<Ref<FormInstance | null | undefined>>): FormValidationResult;Example
const result = await formUtil.validateScrollToField(formRef);Input
| Input | Type | Required / default | Description |
|---|---|---|---|
ref | Readonly<Ref<FormInstance | null | undefined>> | Required | ElForm instance ref. |
Returns
| Value | Type | Description |
|---|---|---|
result | FormValidationResult | Resolves true when valid; otherwise scrolls and rejects with invalidFields. |
formUtil.mobile Validate
Element Plus rule callback validating a required mainland Chinese mobile number.
Signature
mobile(rule: FormItemRule, value: string, callback: (error?: Error) => void): void;Example
formUtil.mobile({} as FormItemRule, "13800138000", (error) => {
if (error) console.error(error.message);
});Input
| Input | Type | Required / default | Description |
|---|---|---|---|
rule | FormItemRule | Required | Rule object supplied by Element Plus; this validator does not read its fields. |
value | string | Required | Required mainland Chinese mobile number to validate. |
callback | (error?: Error) => void | Required | Called without arguments on success or with Error on failure. |
Returns
| Value | Type | Description |
|---|---|---|
result | void | No return value; reports validation through callback. |
formUtil.phone Validate
Element Plus rule callback validating an optional landline number.
Signature
phone(rule: FormItemRule, value: string, callback: (error?: Error) => void): void;Example
formUtil.phone({} as FormItemRule, "010-12345678", (error) => {
if (error) console.error(error.message);
});Input
| Input | Type | Required / default | Description |
|---|---|---|---|
rule | FormItemRule | Required | Rule object supplied by Element Plus; this validator does not read its fields. |
value | string | Required | Optional landline number to validate. |
callback | (error?: Error) => void | Required | Called without arguments on success or with Error on failure. |
Returns
| Value | Type | Description |
|---|---|---|
result | void | No return value; reports validation through callback. |
formUtil.email Validate
Element Plus rule callback validating an optional email address.
Signature
email(rule: FormItemRule, value: string, callback: (error?: Error) => void): void;Example
formUtil.email({} as FormItemRule, "user@example.com", (error) => {
if (error) console.error(error.message);
});Input
| Input | Type | Required / default | Description |
|---|---|---|---|
rule | FormItemRule | Required | Rule object supplied by Element Plus; this validator does not read its fields. |
value | string | Required | Optional email address to validate. |
callback | (error?: Error) => void | Required | Called without arguments on success or with Error on failure. |
Returns
| Value | Type | Description |
|---|---|---|
result | void | No return value; reports validation through callback. |
formUtil.idCard Validate
Element Plus rule callback validating an optional identity-card number.
Signature
idCard(rule: FormItemRule, value: string, callback: (error?: Error) => void): void;Example
formUtil.idCard({} as FormItemRule, "11010519491231002X", (error) => {
if (error) console.error(error.message);
});Input
| Input | Type | Required / default | Description |
|---|---|---|---|
rule | FormItemRule | Required | Rule object supplied by Element Plus; this validator does not read its fields. |
value | string | Required | Optional identity-card number to validate. |
callback | (error?: Error) => void | Required | Called without arguments on success or with Error on failure. |
Returns
| Value | Type | Description |
|---|---|---|
result | void | No return value; reports validation through callback. |
formUtil.carNumber Validate
Element Plus rule callback validating a seven- or eight-character license plate.
Signature
carNumber(rule: FormItemRule, value: string | null | undefined, callback: (error?: Error) => void): void;Example
formUtil.carNumber({} as FormItemRule, "京A12345", (error) => {
if (error) console.error(error.message);
});Input
| Input | Type | Required / default | Description |
|---|---|---|---|
rule | FormItemRule | Required | Rule object supplied by Element Plus; this validator does not read its fields. |
value | string | null | undefined | Required | Seven- or eight-character license plate to validate. |
callback | (error?: Error) => void | Required | Called without arguments on success or with Error on failure. |
Returns
| Value | Type | Description |
|---|---|---|
result | void | No return value; reports validation through callback. |
formUtil.editorRequired Validate
Element Plus rule callback validating required rich text.
Signature
editorRequired(rule: FormItemRule, value: string, callback: (error?: Error) => void): void;Example
formUtil.editorRequired({} as FormItemRule, "<p>正文</p>", (error) => {
if (error) console.error(error.message);
});Input
| Input | Type | Required / default | Description |
|---|---|---|---|
rule | FormItemRule | Required | Rule object supplied by Element Plus; this validator does not read its fields. |
value | string | Required | Required rich-text value to validate. |
callback | (error?: Error) => void | Required | Called without arguments on success or with Error on failure. |
Returns
| Value | Type | Description |
|---|---|---|
result | void | No return value; reports validation through callback. |
formUtil.external Validate
Element Plus rule callback validating an external link.
Signature
external(rule: FormItemRule, value: string, callback: (error?: Error) => void): void;Example
formUtil.external({} as FormItemRule, "https://example.com", (error) => {
if (error) console.error(error.message);
});Input
| Input | Type | Required / default | Description |
|---|---|---|---|
rule | FormItemRule | Required | Rule object supplied by Element Plus; this validator does not read its fields. |
value | string | Required | External link to validate. |
callback | (error?: Error) => void | Required | Called without arguments on success or with Error on failure. |
Returns
| Value | Type | Description |
|---|---|---|
result | void | No return value; reports validation through callback. |
formUtil.url Validate
Element Plus rule callback validating a URL.
Signature
url(rule: FormItemRule, value: string, callback: (error?: Error) => void): void;Example
formUtil.url({} as FormItemRule, "https://example.com/path", (error) => {
if (error) console.error(error.message);
});Input
| Input | Type | Required / default | Description |
|---|---|---|---|
rule | FormItemRule | Required | Rule object supplied by Element Plus; this validator does not read its fields. |
value | string | Required | URL to validate. |
callback | (error?: Error) => void | Required | Called without arguments on success or with Error on failure. |
Returns
| Value | Type | Description |
|---|---|---|
result | void | No return value; reports validation through callback. |
formUtil.postCode Validate
Element Plus rule callback validating a postal code.
Signature
postCode(rule: FormItemRule, value: string, callback: (error?: Error) => void): void;Example
formUtil.postCode({} as FormItemRule, "100000", (error) => {
if (error) console.error(error.message);
});Input
| Input | Type | Required / default | Description |
|---|---|---|---|
rule | FormItemRule | Required | Rule object supplied by Element Plus; this validator does not read its fields. |
value | string | Required | Postal code to validate. |
callback | (error?: Error) => void | Required | Called without arguments on success or with Error on failure. |
Returns
| Value | Type | Description |
|---|---|---|
result | void | No return value; reports validation through callback. |
formUtil.account Validate
Element Plus rule callback validating a 6–20-character account.
Signature
account(rule: FormItemRule, value: string, callback: (error?: Error) => void): void;Example
formUtil.account({} as FormItemRule, "fast123", (error) => {
if (error) console.error(error.message);
});Input
| Input | Type | Required / default | Description |
|---|---|---|---|
rule | FormItemRule | Required | Rule object supplied by Element Plus; this validator does not read its fields. |
value | string | Required | 6–20-character account to validate. |
callback | (error?: Error) => void | Required | Called without arguments on success or with Error on failure. |
Returns
| Value | Type | Description |
|---|---|---|
result | void | No return value; reports validation through callback. |
formUtil.password Validate
Element Plus rule callback validating a 6–18-character weak password.
Signature
password(rule: FormItemRule, value: string, callback: (error?: Error) => void): void;Example
formUtil.password({} as FormItemRule, "fast1234", (error) => {
if (error) console.error(error.message);
});Input
| Input | Type | Required / default | Description |
|---|---|---|---|
rule | FormItemRule | Required | Rule object supplied by Element Plus; this validator does not read its fields. |
value | string | Required | 6–18-character weak password to validate. |
callback | (error?: Error) => void | Required | Called without arguments on success or with Error on failure. |
Returns
| Value | Type | Description |
|---|---|---|
result | void | No return value; reports validation through callback. |
formUtil.strongPassword Validate
Element Plus rule callback validating an 8–20-character strong password.
Signature
strongPassword(rule: FormItemRule, value: string, callback: (error?: Error) => void): void;Example
formUtil.strongPassword({} as FormItemRule, "Fast@1234", (error) => {
if (error) console.error(error.message);
});Input
| Input | Type | Required / default | Description |
|---|---|---|---|
rule | FormItemRule | Required | Rule object supplied by Element Plus; this validator does not read its fields. |
value | string | Required | 8–20-character strong password to validate. |
callback | (error?: Error) => void | Required | Called without arguments on success or with Error on failure. |
Returns
| Value | Type | Description |
|---|---|---|
result | void | No return value; reports validation through callback. |
formUtil.chinese Validate
Element Plus rule callback validating Chinese characters.
Signature
chinese(rule: FormItemRule, value: string, callback: (error?: Error) => void): void;Example
formUtil.chinese({} as FormItemRule, "中文", (error) => {
if (error) console.error(error.message);
});Input
| Input | Type | Required / default | Description |
|---|---|---|---|
rule | FormItemRule | Required | Rule object supplied by Element Plus; this validator does not read its fields. |
value | string | Required | Chinese characters to validate. |
callback | (error?: Error) => void | Required | Called without arguments on success or with Error on failure. |
Returns
| Value | Type | Description |
|---|---|---|
result | void | No return value; reports validation through callback. |
formUtil.english Validate
Element Plus rule callback validating English characters.
Signature
english(rule: FormItemRule, value: string, callback: (error?: Error) => void): void;Example
formUtil.english({} as FormItemRule, "Fast", (error) => {
if (error) console.error(error.message);
});Input
| Input | Type | Required / default | Description |
|---|---|---|---|
rule | FormItemRule | Required | Rule object supplied by Element Plus; this validator does not read its fields. |
value | string | Required | English characters to validate. |
callback | (error?: Error) => void | Required | Called without arguments on success or with Error on failure. |
Returns
| Value | Type | Description |
|---|---|---|
result | void | No return value; reports validation through callback. |
formUtil.inputRequired Validate
Creates a required text-input rule.
Signature
inputRequired(message: string, trigger?: string): FormItemRule;Example
const result = formUtil.inputRequired("此项必填", "blur");Input
| Input | Type | Required / default | Description |
|---|---|---|---|
message | string | Required | Validation failure message. |
trigger | string | Optional; defaults to blur | Validation trigger event name. |
Returns
| Value | Type | Description |
|---|---|---|
result | FormItemRule | Element Plus rule object with required, message, and trigger. |
formUtil.selectRequired Validate
Creates a required-selection rule.
Signature
selectRequired(message: string, trigger?: string): FormItemRule;Example
const result = formUtil.selectRequired("此项必填", "change");Input
| Input | Type | Required / default | Description |
|---|---|---|---|
message | string | Required | Validation failure message. |
trigger | string | Optional; defaults to change | Validation trigger event name. |
Returns
| Value | Type | Description |
|---|---|---|
result | FormItemRule | Element Plus rule object with required, message, and trigger. |
tableUtil.formatValue Format
Joins array cell values as text and normalizes empty arrays.
Signature
formatValue(value: unknown): unknown;Example
const result = tableUtil.formatValue(["A", "B"]);Input
| Input | Type | Required / default | Description |
|---|---|---|---|
value | unknown | Required | Current cell value. |
Returns
| Value | Type | Description |
|---|---|---|
result | unknown | Joined array text, null for empty arrays, or the original nonarray value. |
tableUtil.handleRowAccordingToProp Value
Reads a nested row field using a dotted path.
Signature
handleRowAccordingToProp(row: DefaultRow, prop: string): unknown;Example
const result = tableUtil.handleRowAccordingToProp({ user: { name: "Fast" } }, "user.name");Input
| Input | Type | Required / default | Description |
|---|---|---|---|
row | DefaultRow | Required | Current table row. |
prop | string | Required | Field name or dotted path. |
Returns
| Value | Type | Description |
|---|---|---|
result | unknown | Target field value, or undefined when traversal fails. |
tableUtil.handleProp Value
Gets the final segment of a dotted field path.
Signature
handleProp(prop: string): string;Example
const result = tableUtil.handleProp("user.name");Input
| Input | Type | Required / default | Description |
|---|---|---|---|
prop | string | Required | Field path. |
Returns
| Value | Type | Description |
|---|---|---|
result | string | Final field name. |
tableUtil.filterEnum Enum
Looks up a label or tag type in table enum options.
Signature
filterEnum(value: unknown, enumData: FaTableEnumColumnCtx[], fieldNames?: { label: string; value: string }, type?: "tag"): unknown;Example
const result = tableUtil.filterEnum(1, [{ label: "启用", value: 1, type: "success" }]);Input
| Input | Type | Required / default | Description |
|---|---|---|---|
value | unknown | Required | Current cell value. |
enumData | FaTableEnumColumnCtx[] | Required | Candidate enum options. |
fieldNames | { label: string; value: string } | Optional | Custom label and value fields. |
type | "tag" | Optional | Returns the enum tag type when tag is supplied. |
Returns
| Value | Type | Description |
|---|---|---|
result | unknown | Matching label/tag type, or null/info when unmatched. |
tableUtil.arrayDynamicSort Sort
Creates a multi-field comparator from pagination sort conditions.
Signature
arrayDynamicSort(sortList: PagedSortInput[]): (a: DefaultRow, b: DefaultRow) => number;Example
const compare = tableUtil.arrayDynamicSort([{ enField: "name", mode: "ascending" }]);
const result = rows.toSorted(compare);Input
| Input | Type | Required / default | Description |
|---|---|---|---|
sortList | PagedSortInput[] | Required | Fields and ascending/descending conditions in priority order. |
Returns
| Value | Type | Description |
|---|---|---|
result | (a: DefaultRow, b: DefaultRow) => number | Comparator accepted by Array sorting methods. |
tableUtil.setEnumMap Enum
Writes static or factory enum options into the table enum Map.
Signature
setEnumMap(columnEnum: FaTableEnumColumnType, prop: string, enumMap: Map<string, FaTableEnumColumnCtx[]>): void;Example
const enumMap = new Map();
tableUtil.setEnumMap([{ label: "启用", value: 1 }], "status", enumMap);Input
| Input | Type | Required / default | Description |
|---|---|---|---|
columnEnum | FaTableEnumColumnType | Required | Enum name, options array, or options factory. |
prop | string | Required | Column field key used by the Map. |
enumMap | Map<string, FaTableEnumColumnCtx[]> | Required | Table enum Map to update. |
Returns
| Value | Type | Description |
|---|---|---|
result | void | No return value. |
tableUtil.flatColumns Flatten
Recursively flattens table columns, optionally collecting enum options.
Signature
flatColumns(columns: FaTableColumnCtx[], enumMap?: Map<string, FaTableEnumColumnCtx[]>): FaTableColumnCtx[];Example
const result = tableUtil.flatColumns(columns, new Map());Input
| Input | Type | Required / default | Description |
|---|---|---|---|
columns | FaTableColumnCtx[] | Required | Column tree potentially containing _children. |
enumMap | Map<string, FaTableEnumColumnCtx[]> | Optional | Enum Map to populate. |
Returns
| Value | Type | Description |
|---|---|---|
result | FaTableColumnCtx[] | Flattened array containing leaf columns only. |
