我在自定义策略中具有以下ClaimType,以测试注册期间收集用户时区的情况:
<ClaimType Id="extension_timezone">
<DisplayName>Timezone</DisplayName>
<DataType>string</DataType>
<UserHelpText>Enter your timezone</UserHelpText>
<UserInputType>DropdownSingleSelect</UserInputType>
<Restriction>
<Enumeration Text="(UTC-08:00) Pacific Time (US & Canada)" Value="(UTC-08:00) Pacific Time (US & Canada)" SelectByDefault="false" />
<Enumeration Text="(UTC-06:00) Central Time (US & Canada)" Value="(UTC-06:00) Central Time (US & Canada)" SelectByDefault="false" />
<Enumeration Text="(UTC+00:00) Dublin, Edinburgh, Lisbon, London" Value="(UTC+00:00) Dublin, Edinburgh, Lisbon, London" SelectByDefault="true" />
<Enumeration Text="(UTC+12:00) Auckland, Wellington" Value="(UTC+12:00) Auckland, Wellington" SelectByDefault="false" />
</Restriction>
</ClaimType>
这在注册流程中正确显示,但是我注意到输入未针对限制进行验证。步骤:
我希望可以通过验证来检查提交的值是否与枚举项之一匹配,但这不会发生。我可以在输出声明中包含extension_timezone,然后看到该值反映了我所做的与任何枚举选项都不匹配的更改。