代码之家  ›  专栏  ›  技术社区  ›  nyoung

配置DateTimeDropdown年份选择

  •  1
  • nyoung  · 技术社区  · 6 年前

    我有一张 DateTimeDropdown 声明类型,允许用户选择其出生日期。

    这是声明的策略配置:

    <ClaimType Id="dateOfBirth">
        <DisplayName>Date of birth</DisplayName>
        <DataType>date</DataType>
        <UserHelpText>Please select your birth date</UserHelpText>
        <UserInputType>DateTimeDropdown</UserInputType>
    </ClaimType>
    

    以及它在表单上的呈现方式:

    enter image description here

    这个 Year 选择范围从1900年开始,一直到2050年。

    是否有任何自定义策略配置来更改、限制或重新排序此下拉列表中的值?

    1 回复  |  直到 6 年前
        1
  •  2
  •   FelisiaM    6 年前

    现在可以通过使用PredictEvalidations实现这一点。看见 date range

    1. 使用谓词和PredicateValidations元素,您可以使用DateTimeDropdown控制UserInputType的最小和最大日期值

      <Predicates> <Predicate Id="DateRange" Method="IsDateRange" HelpText="The date must be between 01-01-1980 and today."> <Parameters> <Parameter Id="Minimum">1980-01-01</Parameter> <Parameter Id="Maximum">Today</Parameter> </Parameters> </Predicate> </Predicates>

      1. 添加引用DateRange谓词的PredicateValidation。

        <PredicateValidations> <PredicateValidation Id="CustomDateRange"> <PredicateGroups> <PredicateGroup Id="DateRangeGroup"> <PredicateReferences> <PredicateReference Id="DateRange" /> </PredicateReferences> </PredicateGroup> </PredicateGroups> </PredicateValidation> </PredicateValidations>

      2. 在声明类型中,添加PredictEvalidationReference元素,并将标识符指定为CustomDateRange。

      <ClaimType Id="dateOfBirth"> <DisplayName>Date of Birth</DisplayName> <DataType>date</DataType> <AdminHelpText>The user's date of birth.</AdminHelpText> <UserHelpText>Your date of birth.</UserHelpText> <UserInputType>DateTimeDropdown</UserInputType> <PredicateValidationReference Id="CustomDateRange" /> </ClaimType>

    推荐文章