File tree Expand file tree Collapse file tree 1 file changed +24
-0
lines changed Expand file tree Collapse file tree 1 file changed +24
-0
lines changed Original file line number Diff line number Diff line change @@ -53,6 +53,30 @@ def validate(self, value):
53
53
return validated_value
54
54
55
55
56
+ class IntegerRangeSettingField (SettingField ):
57
+ def __init__ (self , min_value = None , max_value = None , ** kwargs ):
58
+ self .min_value = min_value
59
+ self .max_value = max_value
60
+ super ().__init__ (** kwargs )
61
+
62
+ def validate (self , value ):
63
+ try :
64
+ parts = value .split ("," )
65
+ minv = int (parts [0 ])
66
+ maxv = int (parts [1 ])
67
+ except ValueError :
68
+ raise SettingValueInvalid (f'This setting must be a integer' )
69
+
70
+ if minv > maxv :
71
+ raise SettingValueInvalid (f'This setting must have min value <= max value' )
72
+
73
+ if self .min_value and minv < self .min_value :
74
+ raise SettingValueInvalid (f'This setting must have minimum value is { self .min_value } ' )
75
+ if self .max_value and maxv > self .max_value :
76
+ raise SettingValueInvalid (f'This setting must have maximum value is { self .max_value } ' )
77
+ return minv , maxv
78
+
79
+
56
80
class BooleanSettingField (SettingField ):
57
81
def __init__ (self , ** kwargs ):
58
82
super ().__init__ (** kwargs )
You can’t perform that action at this time.
0 commit comments