*/ class LSformRule_inarray extends LSformRule { // CLI parameters autocompleters protected static $cli_params_autocompleters = array( 'possible_values' => null, 'reverse' => array('LScli', 'autocomplete_bool'), ); /** * Check the value in configured list * * @param string $value The value to check * @param array $options Check options: * - possible_values: the list of valid values (required) * - reverse: if true, reverse the logic of the check * (list values are prohibited, optional, default: False) * @param LSformElement &$formElement The related LSformElement object * * @return boolean true if the value is valid, false otherwise */ public static function validate($value, $options, &$formElement) { $possible_values = LSconfig :: get('params.possible_values', null, null, $options); $reverse = LSconfig :: get('params.reverse', false, 'bool', $options); if (!is_array($possible_values)) { LSerror :: addErrorCode('LSformRule_inarray_01'); return false; } if (!in_array($value, $possible_values)) return $reverse; return !$reverse; } } /* * Error Codes */ LSerror :: defineError('LSformRule_inarray_01', ___("LSformRule_inarray : Possible values has not been configured to validate data.") );