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

调用返回ValidationResult的验证方法时如何在MessageBox展示验证结果

实现方案

1 先修正原有验证方法的逻辑错误

你当前的实现逻辑存在明显问题:注册信息已存在属于正常的业务判断场景,不会触发异常,所以原来写在catch块里的已存在提示永远不会被触发,注册信息重复时只会走到末尾返回「Failed」。修正后的代码如下:

public static ValidationResult IsValidRegistration(string registration)
{
    try
    {
        if (!Business.VehicleList.Any(x => x.Registration == registration))
        {
            // 注册号不存在,验证通过
            return new ValidationResult(true, "车辆创建成功");
        }
        else
        {
            // 注册号已存在,验证不通过
            return new ValidationResult(false, $"注册号:{registration} 已存在");
        }
    }
    catch
    {
        // 仅查询出现异常时返回失败,比如车辆列表为空、数据库连接异常等
        return new ValidationResult(false, "验证失败,请稍后重试");
    }
}

2 调用验证方法并弹窗展示结果

你返回的ValidationResult对象中已经包含了你自定义的提示文本,直接读取对应的文本属性传给MessageBox.Show即可,实现代码如下:

// 执行验证获取结果
var validateResult = Validation.IsValidRegistration(registration);
if (validateResult.IsValid)
{
    MessageBox.Show(validateResult.Message);
}
else
{
    // 错误提示可以额外加标题和错误图标,增强交互
    MessageBox.Show(validateResult.Message, "操作错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
}

注意:如果你的ValidationResult类存储提示文本的属性名不是Message,替换成你自己定义的对应属性名即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.17 10:06:06