Data validation for Univer Sheets
npm install @univerjs/sheets-data-validation| Package Name | UMD Namespace | Version | License | Downloads | Contains CSS | Contains i18n locales |
| --- | --- | --- | --- | --- | :---: | :---: |
| @univerjs/sheets-data-validation | UniverSheetsDataValidation | [![][npm-version-shield]][npm-version-link] | ![][npm-license-shield] | ![][npm-downloads-shield] | ️❌ | ❌️ |
> @univerjs/sheets-data-validation provides full capabilities for Univer Sheet data validation.
``shellUsing npm
npm i @univerjs/sheets-data-validation
$3
`typescript
import type { IWorkbookData } from '@univerjs/core';
import { DataValidationType, ICommandService, LocaleType, Univer, UniverInstanceType } from '@univerjs/core';
import { UniverDataValidationPlugin } from '@univerjs/data-validation';
import {
DATA_VALIDATION_PLUGIN_NAME,
UniverSheetsDataValidationPlugin,
} from '@univerjs/sheets-data-validation';univer.registerPlugin(UniverDataValidationPlugin);
univer.registerPlugin(UniverSheetsDataValidationPlugin);
// initial data validation
// dentation: https://github.com/dream-num/univer/blob/dev/packages/core/src/types/interfaces/i-data-validation.ts#L48
const dataValidation = [
{
uid: 'xxx-2',
type: DataValidationType.CHECKBOX,
ranges: [{
startRow: 6,
endRow: 10,
startColumn: 0,
endColumn: 5,
}],
},
];
export const DEFAULT_WORKBOOK_DATA_DEMO: IWorkbookData = {
id: 'workbook-01',
locale: LocaleType.ZH_CN,
name: 'UniverSheet Demo',
resources: [{
name: DATA_VALIDATION_PLUGIN_NAME,
data: JSON.stringify({
'sheetId-1': dataValidation,
}),
}],
// ...
};
// load initial snapshot
univer.createUnit(UniverInstanceType.UNIVER_SHEET, DEFAULT_WORKBOOK_DATA_DEMO);
`$3
`typescript
// Commands and Command params for sheet-data-validation management
import type {
IAddSheetDataValidationCommandParams,
IRemoveSheetDataValidationCommandParams,
IUpdateSheetDataValidationOptionsCommandParams,
IUpdateSheetDataValidationRangeCommandParams,
IUpdateSheetDataValidationSettingCommandParams,
} from '@univerjs/sheets-data-validation';
import {
AddSheetDataValidationCommand,
DATA_VALIDATION_PLUGIN_NAME,
RemoveSheetDataValidationCommand,
UniverSheetsDataValidationPlugin,
UpdateSheetDataValidationOptionsCommand,
UpdateSheetDataValidationRangeCommand,
UpdateSheetDataValidationSettingCommand,
// internal service
SheetsDataValidationValidatorService
} from '@univerjs/sheets-data-validation';// eg. Add data validation from command
const commandService = univer.__getInjector().get(ICommandService);
commandService.executeCommand(AddSheetDataValidationCommand.id, {
unitId: 'unitId',
subUnitId: 'subUnitId',
rule: {
uid: 'xxx-2',
type: DataValidationType.CHECKBOX,
ranges: [{
startRow: 6,
endRow: 10,
startColumn: 0,
endColumn: 5,
}],
},
} as IAddSheetDataValidationCommandParams);
// Using internal service Such as validator
const sheetsDataValidationValidatorService = univer.__getInjector().get(SheetsDataValidationValidatorService);
sheetsDataValidationValidatorService.validatorWorksheet('unitId', 'sheetId')
``
[npm-version-shield]: https://img.shields.io/npm/v/@univerjs/sheets-data-validation?style=flat-square
[npm-version-link]: https://npmjs.com/package/@univerjs/sheets-data-validation
[npm-license-shield]: https://img.shields.io/npm/l/@univerjs/sheets-data-validation?style=flat-square
[npm-downloads-shield]: https://img.shields.io/npm/dm/@univerjs/sheets-data-validation?style=flat-square