You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Entry初始化内访问MultiValidationBehavior的验证状态?

问题解答

可以访问这个初始化时创建的验证器来检查状态,以下是几种可行的操作方式:

方法1:遍历Behaviors集合筛选

验证器已经被添加到myEntry.Behaviors集合中,直接遍历集合找到MultiValidationBehavior类型的实例即可:

// 从Behaviors里筛选出目标验证器
var targetValidator = myEntry.Behaviors.FirstOrDefault(b => b is MultiValidationBehavior) as MultiValidationBehavior;
if (targetValidator != null)
{
    // 读取验证状态
    bool isEntryValid = targetValidator.IsValid;
}

方法2:初始化时提前捕获引用

在Entry的初始化代码里,先把验证器赋值给一个可访问的变量,再添加到Behaviors中,这样既能保持初始化写法,又能直接拿到引用:

// 先声明变量(可以是局部变量或类字段)
MultiValidationBehavior myValidator;

Entry myEntry = new Entry
{
    Text = "string",
    Behaviors =
    {
        // 把创建的验证器赋值给变量
        myValidator = new MultiValidationBehavior {
          InvalidStyle = invalidEntryStyle,
          Flags = ValidationFlags.ValidateOnValueChanging,
          Children = {
              new TextValidationBehavior { MinimumLength = 5 },
              new CharactersValidationBehavior { CharacterType = CharacterType.Digit, MaximumCharacterCount = 0 }
         }
       }
    }
        
 };

// 直接使用变量访问验证状态
bool isEntryValid = myValidator.IsValid;

方法3:通过Name属性定位

如果存在多个同类型行为,可以给验证器设置唯一的Name属性,之后通过Name精准查找:

Entry myEntry = new Entry
{
    Text = "string",
    Behaviors =
    {
        new MultiValidationBehavior {
          Name = "UserInputValidator", // 设置唯一标识
          InvalidStyle = invalidEntryStyle,
          Flags = ValidationFlags.ValidateOnValueChanging,
          Children = {
              new TextValidationBehavior { MinimumLength = 5 },
              new CharactersValidationBehavior { CharacterType = CharacterType.Digit, MaximumCharacterCount = 0 }
         }
       }
    }
        
 };

// 根据Name筛选目标验证器
var targetValidator = myEntry.Behaviors.FirstOrDefault(b => 
    b is MultiValidationBehavior mv && mv.Name == "UserInputValidator") as MultiValidationBehavior;
if (targetValidator != null)
{
    bool isEntryValid = targetValidator.IsValid;
}

内容的提问来源于stack exchange,提问作者Costas

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 04:37:31