用fieldreflector验证字段



我有一个属性,由于以前的问题,我禁用它。

.Field(new FieldReflector<UploadDocumentForm>(nameof(UploadDocumentForm.StatusContent))
    .SetActive((state) => false))

,但是尽管如此,我可能需要通过其他选项在该字段上进行验证,并根据他选择的内容发送消息。可以做到吗?我不知道使用" fieldreflector"的字段是否有效。

预先感谢

是的,您可以利用FieldReflector类的SetValidate()实现您的要求。

如果您需要在用户失败时提示他,则可以利用ValidateResult的反馈属性。如果您想始终将消息发送给Ueser,则可以利用FormBuilderMessage()

这是代码段:

...
private static string msg = "default";
...
...
.Field(new FieldReflector<Classification>(nameof(Choice))
                        .SetValidate(async (state, value) => {
                            var selection = (<ClassName>)value;
                            bool isValid = (int)selection > 2;
                            msg = $"Select Value is {selection}";
                            ValidateResult result = new ValidateResult
                            {
                                IsValid = isValid,
                                Value = selection,
                            };
                            if (!isValid)
                            {
                                result.Feedback = msg;
                            }
                            return result;
                        })
                       )
                   .Message(msg)

相关内容

  • 没有找到相关文章

最新更新