searchBuilder.conditions[type][cond].isInputValid
Function to determine if the criteria is isInputValid.
Please note - this property requires the SearchBuilder extension for DataTables.
Description
This function returns a boolean representing whether the criteria should be included or not. It takes 2 parameters.
val
the array of value elements that belong to this criteria. These are set insearchBuilder.conditions[type][cond].init
.that
the criteria instance that is being checked.
This function gives access to the elements that have been created in the searchBuilder.conditions[type][cond].init
function and the criteria instance that is currently being considered. The purpose of this function is to decide whether there is enough data present to include this criteria in the search filtering. It is not as straightforward as applying all of the filters all of the time. This is because when a new criteria is added the table would show no results.
Typically the jQuery elements will be used to decide if there is enough data there to proceed. For example select
elements would need to have a selected option and input elements would need to have some text entered. If you always want a criteria with this condition to apply filtering no matter the value in the jQuery elements then just return true
from this function. This will mainly be used when no jQuery elements are set, for example the empty condition.
The manual page for custom conditions covers in detail how this and the other values in this object come together to create a custom condition.
Note: Please also not that custom conditions are not supported when the serverSide
option is set to true.
Some examples are shown below for select and input elements.
Type
function searchBuilder.conditions[type][cond].isInputValid()
- Description:
This function returns a boolean representing whether the criteria should be included or not.
- Parameters:
Name Type Optional 1 el
No Elements used to collect values as set by
searchBuilder.conditions[type][cond].init
2 that
No The criteria instance that is being considered
- Returns:
Returns a boolean indicating whether the criteria is to be included in searching.
Examples
Select isInputValid function:
...
isInputValid (el, that) {
// Deselect the placeholder
$(that.dom.valueTitle).attr('selected', false);
// Return true if there is a selected option
return $(el[0]).has('option:selected').length >= 1
}
...
Input isInputValid function:
...
isInputValid (el, that) {
// Return true if there is something present in the input element
return $(el[0]).val().length > 0
}
...
Related
The following options are directly related and may also be useful in your application development.