DevForce 初始验证

DevForce Initial Validation

我们刚刚开始使用 DevForce 开展一个项目,我们希望做的一件事是突出显示用户在创建新记录时需要哪些字段。

我们 运行 遇到的问题是 DevForce 似乎将可空字段初始化为其类型的默认值,因此,UI 不显示所需的高亮显示等字段,除非我们专门去删除我们希望向用户突出显示的属性。

        private void InitializeUser()
    {
        _creatingUser = Manager.Users.FirstOrDefault(u => u.UserName ==
                                                 Manager.AuthenticationContext.Principal.Identity
                                                     .Name);

        var zone = DateTimeZoneProviders.Tzdb.GetSystemDefault();
        Instant systemTime = SystemClock.Instance.Now;

        // HACK: nulling out strings to make the validation fire correctly
        // need to find a beter solution for this
        UserToAdd = new User()
        {
            CreatedBy = _creatingUser,
            CreatedDate = systemTime.InUtc().ToDateTimeUtc(),
            CreatedTz = zone.Id,
            ModifiedBy = _creatingUser,
            ModifiedDate = systemTime.InUtc().ToDateTimeUtc(),
            ModifiedTz = zone.Id,
            UserName = null,
            Email = null,
            FirstName = null,
            LastName = null,
            Active = true
        };
    }

我们没有看到禁用此初始化的选项,我们想知道 Whosebugers 是否有其他人 运行 解决了这个问题并找到了更好的解决方案。

设置 model-wide 默认值的最简单方法是使用 DefaultValueFunction,您可以在 DevForce Resource Center.

上阅读更多相关信息