GFValidationConstraintRule¶
API Reference / Standard / 类索引
- 路径:
addons/gf/standard/foundation/validation/gf_validation_constraint_rule.gd - 模块:
Standard - 继承:
GFValidationRule - API:
public - 类别:资源定义 (
resource_definition) - 首次版本:
6.0.0
通用约束校验规则资源。 为 GFValidationRule 补齐范围、集合、正则和尺寸这类跨模块常用约束。 规则只检查传入值,不解释字段业务语义;调用方可把它挂到 GFSchemaField、 设置定义、导入计划或项目自己的校验套件中。
成员概览¶
| 类型 | 名称 | 签名 |
|---|---|---|
| 枚举 | ConstraintKind |
enum ConstraintKind |
| 属性 | constraint_kind |
var constraint_kind: ConstraintKind = ConstraintKind.RANGE |
| 属性 | has_minimum |
var has_minimum: bool = false |
| 属性 | minimum |
var minimum: float = 0.0 |
| 属性 | inclusive_minimum |
var inclusive_minimum: bool = true |
| 属性 | has_maximum |
var has_maximum: bool = false |
| 属性 | maximum |
var maximum: float = 0.0 |
| 属性 | inclusive_maximum |
var inclusive_maximum: bool = true |
| 属性 | allowed_values |
var allowed_values: Array = [] |
| 属性 | case_sensitive |
var case_sensitive: bool = true |
| 属性 | pattern |
var pattern: String = "" |
| 属性 | require_full_match |
var require_full_match: bool = false |
| 属性 | allow_empty |
var allow_empty: bool = true |
| 属性 | has_minimum_size |
var has_minimum_size: bool = false |
| 属性 | minimum_size |
var minimum_size: int = 0 |
| 属性 | has_maximum_size |
var has_maximum_size: bool = false |
| 属性 | maximum_size |
var maximum_size: int = 0 |
| 方法 | configure_range |
func configure_range( p_minimum: float, p_maximum: float, options: Dictionary = {} ) -> GFValidationConstraintRule: |
| 方法 | configure_set |
func configure_set(p_allowed_values: Array, options: Dictionary = {}) -> GFValidationConstraintRule: |
| 方法 | configure_regex |
func configure_regex(p_pattern: String, options: Dictionary = {}) -> GFValidationConstraintRule: |
| 方法 | configure_size |
func configure_size( p_minimum_size: int, p_maximum_size: int, options: Dictionary = {} ) -> GFValidationConstraintRule: |
| 方法 | duplicate_rule |
func duplicate_rule() -> GFValidationRule: |
| 方法 | describe |
func describe() -> Dictionary: |
| 方法 | constraint_kind_to_name |
static func constraint_kind_to_name(value: ConstraintKind) -> String: |
| 方法 | _validate |
func _validate(_target: Variant, _report: GFValidationReport, _context: Dictionary) -> Variant: |
枚举¶
ConstraintKind¶
- API:
public - 首次版本:
6.0.0
enum ConstraintKind {
## 数值范围。
RANGE,
## 允许值集合。
SET,
## 字符串正则表达式。
REGEX,
## String、Array、Dictionary 或 PackedArray 尺寸。
SIZE,
}
约束类别。
属性¶
constraint_kind¶
- API:
public - 首次版本:
6.0.0
约束类别。
has_minimum¶
- API:
public - 首次版本:
6.0.0
是否检查最小数值。
minimum¶
- API:
public - 首次版本:
6.0.0
最小数值。
inclusive_minimum¶
- API:
public - 首次版本:
6.0.0
最小数值是否包含边界。
has_maximum¶
- API:
public - 首次版本:
6.0.0
是否检查最大数值。
maximum¶
- API:
public - 首次版本:
6.0.0
最大数值。
inclusive_maximum¶
- API:
public - 首次版本:
6.0.0
最大数值是否包含边界。
allowed_values¶
- API:
public - 首次版本:
6.0.0
允许值集合。
结构:
allowed_values: Array of accepted Variant values.
case_sensitive¶
- API:
public - 首次版本:
6.0.0
字符串集合比较是否区分大小写。
pattern¶
- API:
public - 首次版本:
6.0.0
正则表达式。
require_full_match¶
- API:
public - 首次版本:
6.0.0
是否要求正则匹配覆盖整个字符串。
allow_empty¶
- API:
public - 首次版本:
6.0.0
是否允许空字符串跳过正则检查。
has_minimum_size¶
- API:
public - 首次版本:
6.0.0
是否检查最小尺寸。
minimum_size¶
- API:
public - 首次版本:
6.0.0
最小尺寸。
has_maximum_size¶
- API:
public - 首次版本:
6.0.0
是否检查最大尺寸。
maximum_size¶
- API:
public - 首次版本:
6.0.0
最大尺寸。
方法¶
configure_range¶
- API:
public - 首次版本:
6.0.0
func configure_range( p_minimum: float, p_maximum: float, options: Dictionary = {} ) -> GFValidationConstraintRule:
配置数值范围约束。
参数:
| 名称 | 说明 |
|---|---|
p_minimum |
最小值。 |
p_maximum |
最大值。 |
options |
可选字段,支持 rule_id、description、enabled、severity、metadata、has_minimum、has_maximum、inclusive_minimum 和 inclusive_maximum。 |
返回:当前规则。
结构:
options: Dictionary range constraint configuration.
configure_set¶
- API:
public - 首次版本:
6.0.0
func configure_set(p_allowed_values: Array, options: Dictionary = {}) -> GFValidationConstraintRule:
配置允许值集合约束。
参数:
| 名称 | 说明 |
|---|---|
p_allowed_values |
允许值数组。 |
options |
可选字段,支持 rule_id、description、enabled、severity、metadata 和 case_sensitive。 |
返回:当前规则。
结构:
p_allowed_values: Array of accepted Variant values.options: Dictionary set constraint configuration.
configure_regex¶
- API:
public - 首次版本:
6.0.0
配置字符串正则约束。
参数:
| 名称 | 说明 |
|---|---|
p_pattern |
正则表达式。 |
options |
可选字段,支持 rule_id、description、enabled、severity、metadata、require_full_match 和 allow_empty。 |
返回:当前规则。
结构:
options: Dictionary regex constraint configuration.
configure_size¶
- API:
public - 首次版本:
6.0.0
func configure_size( p_minimum_size: int, p_maximum_size: int, options: Dictionary = {} ) -> GFValidationConstraintRule:
配置尺寸约束。
参数:
| 名称 | 说明 |
|---|---|
p_minimum_size |
最小尺寸。 |
p_maximum_size |
最大尺寸。 |
options |
可选字段,支持 rule_id、description、enabled、severity、metadata、has_minimum_size 和 has_maximum_size。 |
返回:当前规则。
结构:
options: Dictionary size constraint configuration.
duplicate_rule¶
- API:
public - 首次版本:
6.0.0
创建当前约束规则的配置副本。
返回:新规则。
describe¶
- API:
public - 首次版本:
6.0.0
导出规则摘要。
返回:规则描述字典。
结构:
return: Dictionary validation constraint rule descriptor.
constraint_kind_to_name¶
- API:
public - 首次版本:
6.0.0
将约束类别转换为稳定名称。
参数:
| 名称 | 说明 |
|---|---|
value |
约束类别。 |
返回:类别名称。
_validate¶
- API:
protected - 首次版本:
6.0.0
执行约束校验逻辑。
参数:
| 名称 | 说明 |
|---|---|
_target |
待校验值。 |
_report |
当前规则报告。 |
_context |
调用方上下文。 |
返回:约束校验结果。
结构:
_target: Variant validation target._context: Dictionary validation context.return: Variant validation hook result.