我有一个属性,由于以前的问题,我禁用它。
.Field(new FieldReflector<UploadDocumentForm>(nameof(UploadDocumentForm.StatusContent))
.SetActive((state) => false))
,但是尽管如此,我可能需要通过其他选项在该字段上进行验证,并根据他选择的内容发送消息。可以做到吗?我不知道使用" fieldreflector"的字段是否有效。
预先感谢
是的,您可以利用FieldReflector
类的SetValidate()
实现您的要求。
如果您需要在用户失败时提示他,则可以利用ValidateResult
的反馈属性。如果您想始终将消息发送给Ueser,则可以利用FormBuilder
的Message()
。
这是代码段:
...
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)