Files
Kalulu/addons/godot-form-validator/rules/length_rule.gd
T
2024-02-20 16:08:30 +01:00

29 lines
740 B
GDScript

@tool
extends ValidatorRule
class_name LengthRule
const FAIL_MESSAGE: String = "The value must be between %d and %d characters long."
@export var min_length: int = 0
@export var max_length: int = 9999
func apply(control: Control, value) -> RuleResult:
var result = RuleResult.new()
if value is String:
result.passed = ValidatorFunctions.length(value, min_length, max_length)
if not result.passed:
if ValidatorFunctions.empty(fail_message):
result.message = FAIL_MESSAGE % [ min_length, max_length ]
else:
result.message = fail_message
return result
func is_valid() -> bool:
return min_length <= max_length
func get_invalid_message() -> String:
return "Minimum length must be less than or equal to maximum length."