|
<template>
<div id="app">
<ejs-grid
:dataSource="data"
:editSettings="editSettings"
:toolbar="toolbar"
height="273px"
>
-----
<e-column
field="POCMask"
:valueAccessor="valueAccess"
:validationRules="custom"
:edit="dpParams"
width="120"
></e-column>
</e-columns>
</ejs-grid>
</div>
</template>
<script>
-----
let elem;
let maskObj;
export default {
data() {
return {
------
dpParams: {
create: function () {
// create a input element
elem = document.createElement("input");
return elem;
},
read: () => {
// renturn the value which will be bound to the Grid
return maskObj.value;
},
destroy: () => {
maskObj.destroy();
},
write: (args) => {
// render the maskedtexbox control
maskObj = new MaskedTextBox({
mask: "0000-000-0000",
value: args.rowData[args.column.field],
});
maskObj.appendTo(elem);
},
},
custom: {
required: true,
minLength: [this.customfn, "put valid value in customerid & pocmask"],
},
};
},
-------
};
</script>
|
|
customfn(args) {
var grid = document.getElementsByClassName("e-grid")[0].ej2_instances[0];
// get the current edited rowData
var currentEditedRowData = grid.editModule.getCurrentEditedData(grid.editModule.formObj.element, {} );
console.log(currentEditedRowData);
// perform your validation as you want and return the Boolean value
if (args.value === "____-___-____" ||currentEditedRowData["CustomerID"].length < 6) {
return false;
} else {
return true;
}
},
|