How to use a second render function alongside a DataTable.render.text() render (anti-XSS security)
How to use a second render function alongside a DataTable.render.text() render (anti-XSS security)
Link to test case: https://live.datatables.net/giwojode/1/edit
Description of problem: I want to be able to apply the render type "Text helper" as shown in https://datatables.net/manual/data/renderers#Text-helper
while also having a custom render function that affects all the elements of the table. How can I achieve this? I've tried calling the render function twice for "_all", but that only seems to take the first one that's call. What would be a solution to this?
The test case shows a simple table that has a render that paints specific cells green, but where one of the cells is painted bold because a user inserted a "<b>" that should be read as just text. If I delete the first render, that shows that cell as it should be shown because of the text() render (as seen here https://live.datatables.net/giwojode/2/edit), but then im not able to customize the render because it isn't a function anymore.
How should I solve this?
This question has an accepted answers - jump to answer
Answers
Yes, there is not a way to assign multiple render functions to a column. You can get an instance of the text renderer function for the
display
operation using this:See the Orthogonal data docs for more details about the
display
and other operations.Call the
escapeHTML()
function with the cell data. Updated example:https://live.datatables.net/giwojode/3/edit
Kevin