mirror of
https://github.com/gosticks/react-bootstrap-table2.git
synced 2026-08-16 13:40:17 +00:00
fix #63 (part1 - cell editing validation)
* implement cell editing validation * add test cases for cell editing validation * add story for validator for cell editor * add docs for cell editor validation
This commit is contained in:
+5
-1
@@ -42,6 +42,7 @@ Following is a `cellEdit` object:
|
||||
{
|
||||
mode: 'click',
|
||||
blurToSave: true,
|
||||
timeToCloseMessage: 2500,
|
||||
onEditing: (rowId, dataField, newValue) => { ... },
|
||||
beforeSaveCell: (oldValue, newValue, row, column) => { ... },
|
||||
afterSaveCell: (oldValue, newValue, row, column) => { ... },
|
||||
@@ -49,10 +50,13 @@ Following is a `cellEdit` object:
|
||||
}
|
||||
```
|
||||
#### <a name='cellEdit.mode'>cellEdit.mode - [String]</a>
|
||||
`cellEdit.mode` possible value is `click` and `dbclick`. It's required value that tell `react-bootstrap-table2` how to trigger the cell editing.
|
||||
`cellEdit.mode` possible value is `click` and `dbclick`. **It's required value** that tell `react-bootstrap-table2` how to trigger the cell editing.
|
||||
|
||||
#### <a name='cellEdit.blurToSave'>cellEdit.blurToSave - [Bool]</a>
|
||||
Default is `false`, enable it will be able to save the cell automatically when blur from the cell editor.
|
||||
|
||||
#### <a name='cellEdit.nonEditableRows'>cellEdit.nonEditableRows - [Function]</a>
|
||||
`cellEdit.nonEditableRows` accept a callback function and expect return an array which used to restrict all the columns of some rows as non-editable. So the each item in return array should be rowkey(`keyField`)
|
||||
|
||||
#### <a name='cellEdit.timeToCloseMessage'>cellEdit.timeToCloseMessage - [Function]</a>
|
||||
If a [`column.validator`](./columns.md#validator) defined and the new value is invalid, `react-bootstrap-table2` will popup a alert at the bottom of editor. `cellEdit.timeToCloseMessage` is a chance to let you decide how long the alert should be stay. Default is 3000 millisecond.
|
||||
+23
-1
@@ -26,6 +26,7 @@ Available properties in a column object:
|
||||
* [headerAlign](#headerAlign)
|
||||
* [headerAttrs](#headerAttrs)
|
||||
* [editable](#editable)
|
||||
* [validator](#validator)
|
||||
|
||||
Following is a most simplest and basic usage:
|
||||
|
||||
@@ -417,4 +418,25 @@ A new `Object` will be the result of element headerAttrs.
|
||||
> overwrited when other props related to HTML attributes were given.
|
||||
|
||||
## <a name='editable'>column.editable - [Bool]</a>
|
||||
`column.editable` default is true, means every column is editable if you configure [`cellEdit`](./README.md#cellEdit). But you can disable some columns editable via setting `false`.
|
||||
`column.editable` default is true, means every column is editable if you configure [`cellEdit`](./README.md#cellEdit). But you can disable some columns editable via setting `false`.
|
||||
|
||||
## <a name='validator'>column.validator - [Function]</a>
|
||||
`column.validator` used for validate the data when cell on updating. it's should accept a callback function with following argument:
|
||||
`newValue`, `row` and `column`:
|
||||
|
||||
```js
|
||||
{
|
||||
// omit...
|
||||
validator: (newValue, row, column) => {
|
||||
return ...;
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
The return value can be a bool or an object. If your valiation is pass, return `true` explicitly. If your valiation is invalid, return following object instead:
|
||||
```js
|
||||
{
|
||||
valid: false,
|
||||
message: 'SOME_REASON_HERE'
|
||||
}
|
||||
```
|
||||
Reference in New Issue
Block a user