*
* @param string $elementID
* @param boolean $requireI18n
+ * @param boolean $permitEmptyValue
* @return boolean
*/
- public function validateValue($elementID, $requireI18n = false) {
+ public function validateValue($elementID, $requireI18n = false, $permitEmptyValue = false) {
if ($this->isPlainValue($elementID)) {
+ // plain values may be left empty
+ if ($permitEmptyValue) {
+ return true;
+ }
+
if ($requireI18n || $this->getValue($elementID) == '') {
return false;
}
* @see wcf\system\option\IOptionType::validate()
*/
public function validate(Option $option, $newValue) {
- if (!I18nHandler::getInstance()->validateValue($option->optionName, $option->requireI18n)) {
+ if (!I18nHandler::getInstance()->validateValue($option->optionName, $option->requireI18n, true)) {
throw new UserInputException($option->optionName, 'validationFailed');
}
}
* @see wcf\system\option\IOptionType::validate()
*/
public function validate(Option $option, $newValue) {
- if (!I18nHandler::getInstance()->validateValue($option->optionName, $option->requireI18n)) {
+ if (!I18nHandler::getInstance()->validateValue($option->optionName, $option->requireI18n, true)) {
throw new UserInputException($option->optionName, 'validationFailed');
}
}