1

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

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

但尽管如此,通过另一个选项,我可能需要对该字段进行验证,并根据用户选择的内容向用户发送消息。有可能做到吗?我不知道使用“FieldReflector”的字段是否有效。

提前致谢

4

1 回答 1

2

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

如果您需要在用户验证失败时提示用户,您可以利用. ValidateResult如果您想始终向您的用户发送消息,您可以Message()利用FormBuilder.

这是代码片段:

...
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)
于 2017-11-29T03:11:52.667 回答