src/org/tiefaces/components/websheet/service/ValidationHandler.java
public boolean validateWithRowColInCurrentPage(final int row, final int col, boolean updateGui) {

		//until now passEmptyCheck has one to one relation to submitMode
		//e.g. when passEmptyCheck = false, then submitMode = true.
		
		boolean submitMode = parent.getSubmitMode();
		boolean passEmptyCheck = !submitMode;
		
		int topRow = parent.getCurrent().getCurrentTopRow();
		int leftCol = parent.getCurrent().getCurrentLeftColumn();
		boolean pass = true;

		FacesRow fRow = CellUtility.getFacesRowFromBodyRow(row, parent.getBodyRows(), topRow);
		if (fRow == null) {
			return pass;
		}

		FacesCell cell = CellUtility.getFacesCellFromBodyRow(row, col, parent.getBodyRows(), topRow, leftCol);
		if (cell == null) {
			return pass;
		}

		Cell poiCell = parent.getCellHelper().getPoiCellWithRowColFromCurrentPage(row, col);
		boolean oldStatus = cell.isInvalid();

		String value = CellUtility.getCellValueWithoutFormat(poiCell);
		if (value == null) {
			value = "";
		} else {
			value = value.trim();
		}

		if (passEmptyCheck && value.isEmpty()) {
			refreshAfterStatusChanged(oldStatus, false, row - topRow, col - leftCol, cell, updateGui);
			return pass;
		}

		if (((parent.isOnlyValidateInSubmitMode() && submitMode ) || !parent.isOnlyValidateInSubmitMode())
		&& !validateByTieWebSheetValidationBean(poiCell, topRow, leftCol, cell, value, updateGui)) {
			return false;
		}
		

		SheetConfiguration sheetConfig = parent.getSheetConfigMap().get(parent.getCurrent().getCurrentTabName());
		List<CellFormAttributes> cellAttributes = CellControlsUtility.findCellValidateAttributes(
				parent.getCellAttributesMap().getCellValidateAttributes(), fRow.getOriginRowIndex(), poiCell);

		if (parent.isAdvancedContext() && parent.getConfigAdvancedContext().getErrorSuffix() != null
				&& !checkErrorMessageFromObjectInContext(row - topRow, col - leftCol, cell, poiCell, value,
						sheetConfig, updateGui)) {
			return false;
		}

		if (cellAttributes != null) {
			pass = validateAllRulesForSingleCell(row - topRow, col - leftCol, cell, poiCell, value, sheetConfig,
					cellAttributes, updateGui);
		}

		if (pass) {
			refreshAfterStatusChanged(oldStatus, false, row - topRow, col - leftCol, cell, updateGui);
		}
		return pass;

	}
public boolean validateWithRowColInCurrentPage(final int row, final int col, boolean updateGui) {

		//until now passEmptyCheck has one to one relation to submitMode
		//e.g. when passEmptyCheck = false, then submitMode = true.
		
		boolean submitMode = parent.getSubmitMode();
		boolean passEmptyCheck = !submitMode;
		
		int topRow = parent.getCurrent().getCurrentTopRow();
		int leftCol = parent.getCurrent().getCurrentLeftColumn();
		boolean pass = true;

		FacesRow fRow = CellUtility.getFacesRowFromBodyRow(row, parent.getBodyRows(), topRow);
		if (fRow == null) {
			return pass;
		}

		FacesCell cell = CellUtility.getFacesCellFromBodyRow(row, col, parent.getBodyRows(), topRow, leftCol);
		if (cell == null) {
			return pass;
		}

		Cell poiCell = parent.getCellHelper().getPoiCellWithRowColFromCurrentPage(row, col);
		boolean oldStatus = cell.isInvalid();

		String value = CellUtility.getCellValueWithoutFormat(poiCell);
		if (value == null) {
			value = "";
		} else {
			value = value.trim();
		}

		if (passEmptyCheck && value.isEmpty()) {
			refreshAfterStatusChanged(oldStatus, false, row - topRow, col - leftCol, cell, updateGui);
			return pass;
		}

		if (((parent.isOnlyValidateInSubmitMode() && submitMode ) || !parent.isOnlyValidateInSubmitMode())
		&& !validateByTieWebSheetValidationBean(poiCell, topRow, leftCol, cell, value, updateGui)) {
			return false;
		}
		

		SheetConfiguration sheetConfig = parent.getSheetConfigMap().get(parent.getCurrent().getCurrentTabName());
		List<CellFormAttributes> cellAttributes = CellControlsUtility.findCellValidateAttributes(
				parent.getCellAttributesMap().getCellValidateAttributes(), fRow.getOriginRowIndex(), poiCell);

		if (parent.isAdvancedContext() && parent.getConfigAdvancedContext().getErrorSuffix() != null
				&& !checkErrorMessageFromObjectInContext(row - topRow, col - leftCol, cell, poiCell, value,
						sheetConfig, updateGui)) {
			return false;
		}

		if (cellAttributes != null) {
			pass = validateAllRulesForSingleCell(row - topRow, col - leftCol, cell, poiCell, value, sheetConfig,
					cellAttributes, updateGui);
		}

		if (pass) {
			refreshAfterStatusChanged(oldStatus, false, row - topRow, col - leftCol, cell, updateGui);
		}
		return pass;

	}
public boolean validateWithRowColInCurrentPage ( final int row , final int col , boolean updateGui ) { //until now passEmptyCheck has one to one relation to submitMode
 //e.g. when passEmptyCheck = false, then submitMode = true.
 boolean submitMode = parent . getSubmitMode ( ) ; boolean passEmptyCheck = ! submitMode ; int topRow = parent . getCurrent ( ) . getCurrentTopRow ( ) ; int leftCol = parent . getCurrent ( ) . getCurrentLeftColumn ( ) ; boolean pass = true ; FacesRow fRow = CellUtility . getFacesRowFromBodyRow ( row , parent . getBodyRows ( ) , topRow ) ; if ( fRow == null ) { return pass ; } FacesCell cell = CellUtility . getFacesCellFromBodyRow ( row , col , parent . getBodyRows ( ) , topRow , leftCol ) ; if ( cell == null ) { return pass ; } Cell poiCell = parent . getCellHelper ( ) . getPoiCellWithRowColFromCurrentPage ( row , col ) ; boolean oldStatus = cell . isInvalid ( ) ; String value = CellUtility . getCellValueWithoutFormat ( poiCell ) ; if ( value == null ) { value = "" ; } else { value = value . trim ( ) ; } if ( passEmptyCheck && value . isEmpty ( ) ) { refreshAfterStatusChanged ( oldStatus , false , row - topRow , col - leftCol , cell , updateGui ) ; return pass ; } if ( ( ( parent . isOnlyValidateInSubmitMode ( ) && submitMode ) || ! parent . isOnlyValidateInSubmitMode ( ) ) && ! validateByTieWebSheetValidationBean ( poiCell , topRow , leftCol , cell , value , updateGui ) ) { return false ; } SheetConfiguration sheetConfig = parent . getSheetConfigMap ( ) . get ( parent . getCurrent ( ) . getCurrentTabName ( ) ) ; List < CellFormAttributes > cellAttributes = CellControlsUtility . findCellValidateAttributes ( parent . getCellAttributesMap ( ) . getCellValidateAttributes ( ) , fRow . getOriginRowIndex ( ) , poiCell ) ; if ( parent . isAdvancedContext ( ) && parent . getConfigAdvancedContext ( ) . getErrorSuffix ( ) != null && ! checkErrorMessageFromObjectInContext ( row - topRow , col - leftCol , cell , poiCell , value , sheetConfig , updateGui ) ) { return false ; } if ( cellAttributes != null ) { pass = validateAllRulesForSingleCell ( row - topRow , col - leftCol , cell , poiCell , value , sheetConfig , cellAttributes , updateGui ) ; } if ( pass ) { refreshAfterStatusChanged ( oldStatus , false , row - topRow , col - leftCol , cell , updateGui ) ; } return pass ; }
Validate with row col in current page.

@param row
the row
@param col
the col
@param updateGui
if true then update gui.
@return true, if successful
Validate with row col in current page .