# DataValidationJsonError

## Content

<div class="docapp-java-api-doc-main"><style>:not(h1, h2, h3, h4, h5, h6)>code,
:not(h1, h2, h3, h4, h5, h6)>tt {
    font-size: 14px;
    padding-top: 4px;
    margin-top: 8px;
    line-height: 1.4em;
}

.summary-table dt code {
    font-size: 14px;
    vertical-align: top;
    padding-top: 4px;
}

.tab {
    background-color: #0066FF;
    color: #ffffff;
    padding: 8px;
    width: 5em;
    font-weight: bold;
}

/*
 * Styles for page header and footer.
 */
.title {
    color: #2c4557;
    margin: 10px 0;
}

.sub-title {
    margin: 5px 0 0 0;
}

.header ul {
    margin: 0 0 15px 0;
    padding: 0;
}

.header ul li,
.footer ul li {
    list-style: none;
}

/*
 * Styles for headings.
 */
.summary h2,
.details h2,
h2,
.block-list h2 {
    padding: 0;
    margin: 15px 0;
}

.summary h3,
.details h3,
.summary .inherited-list h2 {
    background-color: var(--ds-product-color);
    color: #fff;
    border: 1px solid #d0d9e0;
    padding: 7px 5px;
}

.summary h3 a,
.details h3 a,
.summary .inherited-list h2 a {
    color: #fff !important;
}
/*
 * Styles for page layout containers.
 */
dl.notes>dt {
    font-size: 12px;
    font-weight: bold;
    margin: 10px 0 0 0;
    color: #4E4E4E;
}

dl.notes>dd {
    margin: 5px 10px 10px 0;
    font-size: 14px;
}

dl.name-value>dt {
    margin-left: 1px;
    font-size: 1.1em;
    display: inline;
    font-weight: bold;
}

dl.name-value>dd {
    margin: 0 0 0 1px;
    font-size: 1.1em;
    display: inline;
}

/*
 * Styles for lists.
 */
li.circle {
    list-style: circle;
}

ul.horizontal li {
    display: inline;
    font-size: 0.9em;
}

div.inheritance {
    margin: 0;
    padding: 0;
}

div.inheritance div.inheritance {
    margin-left: 2em;
}

ul.block-list,
ul.details-list,
ul.member-list,
ul.summary-list {
    margin: 10px 0 10px 0;
    padding: 0;
}

ul.block-list>li,
ul.details-list>li,
ul.member-list>li,
ul.summary-list>li {
    list-style: none;
    margin-bottom: 15px;
    line-height: 1.4;
}

.summary-table dl,
.summary-table dl dt,
.summary-table dl dd {
    margin-top: 0;
    margin-bottom: 1px;
}

ul.see-list,
ul.see-list-long {
    padding-left: 0;
    list-style: none;
}

ul.see-list li {
    display: inline;
}

ul.see-list li:not(:last-child):after,
ul.see-list-long li:not(:last-child):after {
    content: ", ";
    white-space: pre-wrap;
}

/*
 * Styles for tables.
 */
.summary-table,
.details-table {
    width: 100%;
    border-spacing: 0;
    border-left: 1px solid #EEE;
    border-right: 1px solid #EEE;
    border-bottom: 1px solid #EEE;
    padding: 0;
}

.caption {
    position: relative;
    text-align: left;
    background-repeat: no-repeat;
    color: #253441;
    font-weight: bold;
    clear: none;
    overflow: hidden;
    padding: 0;
    padding-top: 10px;
    padding-left: 1px;
    margin: 0;
    white-space: pre;
}

.caption a:link,
.caption a:visited {
    color: #1f389c;
}

.caption a:hover,
.caption a:active {
    color: #FFFFFF;
}

.caption span {
    white-space: nowrap;
    padding-top: 5px;
    padding-left: 12px;
    padding-right: 12px;
    padding-bottom: 7px;
    display: inline-block;
    background-color: var(--ds-product-color);
    color: #fff;
    border: none;
}

div.table-tabs {
    padding: 10px 0 0 1px;
    margin: 0;
}

div.table-tabs>button {
    border: none;
    cursor: pointer;
    padding: 5px 12px 7px 12px;
    font-weight: bold;
    margin-right: 3px;
}

div.table-tabs>button.active-table-tab {
    background: var(--ds-product-color);
    color: #fff;
}

div.table-tabs>button.table-tab {
    background: var(--ds-product-color);
    color: #FFFFFF;
    border-bottom: 1px solid #eee;
}

.two-column-summary {
    display: grid;
    grid-template-columns: minmax(15%, max-content) minmax(15%, auto);
}

.three-column-summary {
    display: grid;
    grid-template-columns: minmax(10%, max-content) minmax(15%, max-content) minmax(15%, auto);
}

.four-column-summary {
    display: grid;
    grid-template-columns: minmax(10%, max-content) minmax(10%, max-content) minmax(10%, max-content) minmax(10%, auto);
}

@media screen and (max-width: 600px) {
    .two-column-summary {
        display: grid;
        grid-template-columns: 1fr;
    }
}

@media screen and (max-width: 800px) {
    .three-column-summary {
        display: grid;
        grid-template-columns: minmax(10%, max-content) minmax(25%, auto);
    }

    .three-column-summary .col-last {
        grid-column-end: span 2;
    }
}

@media screen and (max-width: 1000px) {
    .four-column-summary {
        display: grid;
        grid-template-columns: minmax(15%, max-content) minmax(15%, auto);
    }
}

.summary-table>div,
.details-table>div {
    text-align: left;
    padding: 8px 3px 3px 7px;
}

.col-first,
.col-second,
.col-last,
.col-constructor-name,
.col-summary-item-name {
    vertical-align: top;
    padding-right: 0;
    padding-top: 8px;
    padding-bottom: 3px;
}

.table-header {
    background: var(--ds-product-color);
    color: #fff;
    font-weight: bold;
}

.col-first,
.col-first {
    font-size: 13px;
}

.col-second,
.col-second,
.col-last,
.col-constructor-name,
.col-summary-item-name,
.col-last {
    font-size: 13px;
}

.col-first,
.col-second,
.col-constructor-name {
    vertical-align: top;
    overflow: auto;
}

.col-last {
    white-space: normal;
}

.col-first a:link,
.col-first a:visited,
.col-second a:link,
.col-second a:visited,
.col-first a:link,
.col-first a:visited,
.col-second a:link,
.col-second a:visited,
.col-constructor-name a:link,
.col-constructor-name a:visited,
.col-summary-item-name a:link,
.col-summary-item-name a:visited,
.constant-values-container a:link,
.constant-values-container a:visited,
.all-classes-container a:link,
.all-classes-container a:visited,
.all-packages-container a:link,
.all-packages-container a:visited {
    font-weight: bold;
}

.table-sub-heading-color {
    background-color: #EEEEFF;
}

.even-row-color,
.even-row-color .table-header {
    background-color: #FFFFFF;
}

.odd-row-color,
.odd-row-color .table-header {
    background-color: #EEEEEF;
}

/*
 * Styles for contents.
 */
.deprecated-content {
    margin: 0;
    padding: 10px 0;
}

div.block {
    font-size: 14px;
}

.col-last div {
    padding-top: 0;
}

.col-last a {
    padding-bottom: 3px;
}

.module-signature,
.package-signature,
.type-signature,
.member-signature {
    font-size: 14px;
    margin: 14px 0;
    white-space: pre-wrap;
}

.module-signature,
.package-signature,
.type-signature {
    margin-top: 0;
}

.member-signature .type-parameters-long,
.member-signature .parameters,
.member-signature .exceptions {
    display: inline-block;
    vertical-align: top;
    white-space: pre;
}

.member-signature .type-parameters {
    white-space: normal;
}

/*
 * Styles for formatting effect.
 */
.source-line-no {
    color: green;
    padding: 0 30px 0 0;
}

h1.hidden {
    visibility: hidden;
    overflow: hidden;
    font-size: 10px;
}

.block {
    display: block;
    margin: 0 10px 5px 0;
    color: #474747;
}

.deprecated-label,
.descfrm-type-label,
.implementation-label,
.member-name-label,
.member-name-link,
.module-label-in-package,
.module-label-in-type,
.override-specify-label,
.package-label-in-type,
.package-hierarchy-label,
.type-name-label,
.type-name-link,
.search-tag-link,
.preview-label {
    font-weight: bold;
}

.deprecation-block {
    font-size: 14px;
    border-style: solid;
    border-width: thin;
    border-radius: 10px;
    padding: 10px;
    margin-bottom: 10px;
    margin-right: 10px;
    display: inline-block;
}

.preview-block {
    font-size: 14px;
    border-style: solid;
    border-width: thin;
    border-radius: 10px;
    padding: 10px;
    margin-bottom: 10px;
    margin-right: 10px;
    display: inline-block;
}

/*
 * Styles for user-provided tables.
 *
 * borderless:
 *      No borders, vertical margins, styled caption.
 *      This style is provided for use with existing doc comments.
 *      In general, borderless tables should not be used for layout purposes.
 *
 * plain:
 *      Plain borders around table and cells, vertical margins, styled caption.
 *      Best for small tables or for complex tables for tables with cells that span
 *      rows and columns, when the "striped" style does not work well.
 *
 * striped:
 *      Borders around the table and vertical borders between cells, striped rows,
 *      vertical margins, styled caption.
 *      Best for tables that have a header row, and a body containing a series of simple rows.
 */

table.borderless,
table.plain,
table.striped {
    margin-top: 10px;
    margin-bottom: 10px;
}

table.borderless>caption,
table.plain>caption,
table.striped>caption {
    font-weight: bold;
    font-size: smaller;
}

table.borderless th,
table.borderless td,
table.plain th,
table.plain td,
table.striped th,
table.striped td {
    padding: 2px 5px;
}

table.borderless,
table.borderless>thead>tr>th,
table.borderless>tbody>tr>th,
table.borderless>tr>th,
table.borderless>thead>tr>td,
table.borderless>tbody>tr>td,
table.borderless>tr>td {
    border: none;
}

table.borderless>thead>tr,
table.borderless>tbody>tr,
table.borderless>tr {
    background-color: transparent;
}

table.plain {
    border-collapse: collapse;
    border: 1px solid black;
}

table.plain>thead>tr,
table.plain>tbody tr,
table.plain>tr {
    background-color: transparent;
}

table.plain>thead>tr>th,
table.plain>tbody>tr>th,
table.plain>tr>th,
table.plain>thead>tr>td,
table.plain>tbody>tr>td,
table.plain>tr>td {
    border: 1px solid black;
}

table.striped {
    border-collapse: collapse;
    border: 1px solid black;
}

table.striped>thead {
    background-color: #E3E3E3;
}

table.striped>thead>tr>th,
table.striped>thead>tr>td {
    border: 1px solid black;
}

table.striped>tbody>tr:nth-child(even) {
    background-color: #EEE
}

table.striped>tbody>tr:nth-child(odd) {
    background-color: #FFF
}

table.striped>tbody>tr>th,
table.striped>tbody>tr>td {
    border-left: 1px solid black;
    border-right: 1px solid black;
}

table.striped>tbody>tr>th {
    font-weight: normal;
}
</style><h1>Class DataValidationJsonError</h1>
<!-- ======== START OF CLASS DATA ======== -->

<div class="inheritance" title="Inheritance Tree"><a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</a>
<div class="inheritance"><a href="JsonError.html" title="class in com.grapecity.documents.excel">com.grapecity.documents.excel.JsonError</a>
<div class="inheritance">com.grapecity.documents.excel.DataValidationJsonError</div>
</div>
</div>
<section class="class-description" id="class-description">
<hr>
<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">DataValidationJsonError</span>
<span class="extends-implements">extends <a href="JsonError.html" title="class in com.grapecity.documents.excel">JsonError</a></span></div>
<div class="block">Represents a JSON import error related to data validation. <p>Use this class to inspect details about a data validation entry that could  not be processed during JSON import, such as the worksheet that contains the  error, the affected range, and the validation content that caused the error.  Instances of this class can be reported in the list returned by  <a href="Workbook.html#fromJson(java.lang.String)"><code>Workbook.fromJson(String)</code></a>.</p>
<pre><code data-language="Java">
 Workbook sourceWorkbook = new Workbook();
 IValidation validation = sourceWorkbook.getWorksheets().get(0).getRange("A1:A3").getValidation();
 validation.add(ValidationType.Custom, ValidationAlertStyle.Stop,
     ValidationOperator.Between, "=A1&gt;0", null);
 String json = sourceWorkbook.toJson().replace("A1&gt;0", "A1&gt;");
 Workbook importedWorkbook = new Workbook();
 List&lt;JsonError&gt; errors = importedWorkbook.fromJson(json);
 DataValidationJsonError error = (DataValidationJsonError) errors.get(0);
 String range = error.getRange();
 </code></pre></div>
</section>
<section class="summary">
<ul class="summary-list">
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<li>
<section class="constructor-summary" id="constructor-summary">
<h2>Constructor Summary</h2>
<div class="caption"><span>Constructors</span></div>
<div class="summary-table two-column-summary">
<div class="table-header col-first">Constructor</div>
<div class="table-header col-last">Description</div>
<div class="col-constructor-name even-row-color"><code><a class="member-name-link" href="#%3Cinit%3E(java.lang.String,java.lang.String,java.lang.String,java.lang.String)">DataValidationJsonError</a><wbr>(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a>&nbsp;errorMessage,
 <a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a>&nbsp;worksheetName,
 <a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a>&nbsp;range,
 <a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a>&nbsp;errorContent)</code></div>
<div class="col-last even-row-color">
<div class="block">Creates a data validation JSON error with the specified details.</div>
</div>
</div>
</section>
</li>
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Method Summary</h2>
<div id="method-summary-table">
<div aria-orientation="horizontal" class="table-tabs" role="tablist"><button aria-controls="method-summary-table.tabpanel" aria-selected="true" class="active-table-tab" id="method-summary-table-tab0" onclick="show('method-summary-table', 'method-summary-table', 3)" onkeydown="switchTab(event)" role="tab" tabindex="0">All Methods</button><button aria-controls="method-summary-table.tabpanel" aria-selected="false" class="table-tab" id="method-summary-table-tab2" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" onkeydown="switchTab(event)" role="tab" tabindex="-1">Instance Methods</button><button aria-controls="method-summary-table.tabpanel" aria-selected="false" class="table-tab" id="method-summary-table-tab4" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" onkeydown="switchTab(event)" role="tab" tabindex="-1">Concrete Methods</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel">
<div aria-labelledby="method-summary-table-tab0" class="summary-table three-column-summary">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#getErrorContent()">getErrorContent</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Gets the data validation content that caused this JSON error.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#getRange()">getRange</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Gets the cell range associated with the data validation error.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#getWorksheetName()">getWorksheetName</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Gets the name of the worksheet where this data validation JSON error occurred.</div>
</div>
</div>
</div>
</div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-com.grapecity.documents.excel.JsonError">Methods inherited from class&nbsp;com.grapecity.documents.excel.<a href="JsonError.html" title="class in com.grapecity.documents.excel">JsonError</a></h3>
<code><a href="JsonError.html#getErrorMessage()">getErrorMessage</a></code></div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class&nbsp;java.lang.<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang">Object</a></h3>
<code><a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</a>, <a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</a>, <a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</a>, <a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang">getClass</a>, <a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang">hashCode</a>, <a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang">notify</a>, <a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang">notifyAll</a>, <a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#toString()" title="class or interface in java.lang">toString</a>, <a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang">wait</a>, <a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang">wait</a>, <a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang">wait</a></code></div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<li>
<section class="constructor-details" id="constructor-detail">
<h2>Constructor Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="<init>(java.lang.String,java.lang.String,java.lang.String,java.lang.String)">
<h3>DataValidationJsonError</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">DataValidationJsonError</span><wbr><span class="parameters">(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a>&nbsp;errorMessage,
 <a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a>&nbsp;worksheetName,
 <a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a>&nbsp;range,
 <a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a>&nbsp;errorContent)</span></div>
<div class="block">Creates a data validation JSON error with the specified details.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>errorMessage</code> - The error message.</dd>
<dd><code>worksheetName</code> - The worksheet name.</dd>
<dd><code>range</code> - The cell range associated with the error.</dd>
<dd><code>errorContent</code> - The validation content that caused the error.</dd>
</dl>
</section>
</li>
</ul>
</section>
</li>
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="getWorksheetName()">
<h3>getWorksheetName</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a></span>&nbsp;<span class="element-name">getWorksheetName</span>()</div>
<div class="block">Gets the name of the worksheet where this data validation JSON error occurred. <p>This method returns the worksheet name stored in this  <a href="DataValidationJsonError.html" title="class in com.grapecity.documents.excel"><code>DataValidationJsonError</code></a> when the error object was created. The value identifies the worksheet that contains the data validation entry that could not be processed during JSON import.</p>
<pre><code data-language="Java">
 Workbook sourceWorkbook = new Workbook();
 IValidation validation = sourceWorkbook.getWorksheets().get(0).getRange("A1:A3").getValidation();
 validation.add(ValidationType.Custom, ValidationAlertStyle.Stop,
     ValidationOperator.Between, "=A1&gt;0", null);
 String json = sourceWorkbook.toJson().replace("A1&gt;0", "A1&gt;");
 Workbook importedWorkbook = new Workbook();
 List&lt;JsonError&gt; errors = importedWorkbook.fromJson(json);
 DataValidationJsonError error = (DataValidationJsonError) errors.get(0);
 String worksheetName = error.getWorksheetName();
 </code></pre></div>
<dl class="notes">
<dt>Returns:</dt>
<dd>The worksheet name associated with this error. Returns <code>null</code> if no worksheet name was stored.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getRange()">
<h3>getRange</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a></span>&nbsp;<span class="element-name">getRange</span>()</div>
<div class="block">Gets the cell range associated with the data validation error. <p>This method returns the range string recorded for the data validation error  when JSON content is imported and a data validation issue is detected.</p>
<pre><code data-language="Java">
 Workbook sourceWorkbook = new Workbook();
 IValidation validation = sourceWorkbook.getWorksheets().get(0).getRange("A1:A3").getValidation();
 validation.add(ValidationType.Custom, ValidationAlertStyle.Stop,
     ValidationOperator.Between, "=A1&gt;0", null);
 String json = sourceWorkbook.toJson().replace("A1&gt;0", "A1&gt;");
 Workbook importedWorkbook = new Workbook();
 List&lt;JsonError&gt; errors = importedWorkbook.fromJson(json);
 DataValidationJsonError error = (DataValidationJsonError) errors.get(0);
 String range = error.getRange();
 </code></pre></div>
<dl class="notes">
<dt>Returns:</dt>
<dd>The range string for the data validation error.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getErrorContent()">
<h3>getErrorContent</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a></span>&nbsp;<span class="element-name">getErrorContent</span>()</div>
<div class="block">Gets the data validation content that caused this JSON error. <p>This method returns the validation content captured for a data validation  entry that could not be processed during JSON import, such as a formula or  other validation definition stored with the error details.</p>
<pre><code data-language="Java">
 Workbook sourceWorkbook = new Workbook();
 IValidation validation = sourceWorkbook.getWorksheets().get(0).getRange("A1:A3").getValidation();
 validation.add(ValidationType.Custom, ValidationAlertStyle.Stop,
     ValidationOperator.Between, "=A1&gt;0", null);
 String json = sourceWorkbook.toJson().replace("A1&gt;0", "A1&gt;");
 Workbook importedWorkbook = new Workbook();
 List&lt;JsonError&gt; errors = importedWorkbook.fromJson(json);
 DataValidationJsonError error = (DataValidationJsonError) errors.get(0);
 String errorContent = error.getErrorContent();
 </code></pre></div>
<dl class="notes">
<dt>Returns:</dt>
<dd>The data validation content associated with this error. Returns <code>null</code> if no error content was stored.</dd>
</dl>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
<script>var evenRowColor = "even-row-color";
var oddRowColor = "odd-row-color";
var tableTab = "table-tab";
var activeTableTab = "active-table-tab";

function show(tableId, selected, columns) {
    if (tableId !== selected) {
        document.querySelectorAll('div.' + tableId + ':not(.' + selected + ')')
            .forEach(function (elem) {
                elem.style.display = 'none';
            });
    }
    document.querySelectorAll('div.' + selected)
        .forEach(function (elem, index) {
            elem.style.display = '';
            var isEvenRow = index % (columns * 2) < columns;
            elem.classList.remove(isEvenRow ? oddRowColor : evenRowColor);
            elem.classList.add(isEvenRow ? evenRowColor : oddRowColor);
        });
    updateTabs(tableId, selected);
}

function updateTabs(tableId, selected) {
    document.querySelector('div#' + tableId + ' .summary-table')
        .setAttribute('aria-labelledby', selected);
    document.querySelectorAll('button[id^="' + tableId + '"]')
        .forEach(function (tab, index) {
            if (selected === tab.id || (tableId === selected && index === 0)) {
                tab.className = activeTableTab;
                tab.setAttribute('aria-selected', true);
                tab.setAttribute('tabindex', 0);
            } else {
                tab.className = tableTab;
                tab.setAttribute('aria-selected', false);
                tab.setAttribute('tabindex', -1);
            }
        });
}

function switchTab(e) {
    var selected = document.querySelector('[aria-selected=true]');
    if (selected) {
        if ((e.keyCode === 37 || e.keyCode === 38) && selected.previousSibling) {
            // left or up arrow key pressed: move focus to previous tab
            selected.previousSibling.click();
            selected.previousSibling.focus();
            e.preventDefault();
        } else if ((e.keyCode === 39 || e.keyCode === 40) && selected.nextSibling) {
            // right or down arrow key pressed: move focus to next tab
            selected.nextSibling.click();
            selected.nextSibling.focus();
            e.preventDefault();
        }
    }
}
</script></div>