/**
* Returns the maximum length of the values of this field or `null` if no placeholder
* has been set.
- *
+ *
* @return null|int
*/
public function getMaximumLength() {
/**
* Sets the maximum length of the values of this field. If `null` is passed, the
* maximum length is removed.
- *
+ *
* @param null|int $maximumLength maximum field value length
* @return static this field
- *
+ *
* @throws \InvalidArgumentException if the given maximum length is no integer or otherwise invalid
*/
public function maximumLength($maximumLength = null) {
}
if ($maximumLength <= 0) {
- throw new \InvalidArgumentException("Maximum length must be positive, '" . $maximumLength . "' given.");
+ throw new \InvalidArgumentException("Maximum length must be positive, '{$maximumLength}' given.");
+ }
+
+ if ($this instanceof IMinimumLengthFormField) {
+ $minimumLength = $this->getMinimumLength();
+ if ($minimumLength !== null && $minimumLength > $maximumLength) {
+ throw new \InvalidArgumentException("Minimum length ({$minimumLength}) cannot be greater than maximum length ({$maximumLength}).");
+ }
}
}
}
if ($minimumLength < 0) {
- throw new \InvalidArgumentException("Minimum length must be non-negative, '" . $minimumLength . "' given.");
+ throw new \InvalidArgumentException("Minimum length must be non-negative, '{$minimumLength}' given.");
+ }
+
+ if ($this instanceof IMaximumLengthFormField) {
+ $maximumLength = $this->getMaximumLength();
+ if ($maximumLength !== null && $minimumLength > $maximumLength) {
+ throw new \InvalidArgumentException("Minimum length ({$minimumLength}) cannot be greater than maximum length ({$maximumLength}).");
+ }
}
}