在Magnolia中使用MultiValueFieldDefinition时限制子项数

时间:2017-11-23 13:30:54

标签: content-management-system yaml magnolia

所以我正在为我正在添加到Magnolia CMS中的模板的组件创建一个自定义对话框。

到目前为止,以下yaml工作正常。

{{1}}

但是,我希望MultiValueFieldDefinition允许允许的最大孩子数量(也可能是最小?)。

这是一个选择吗?我试过maxLength,但它不起作用。 Docs没有谈论这样的属性,但也许有人有类似的问题。

如果可能,我宁愿避免任何Java。

1 个答案:

答案 0 :(得分:2)

我不这么认为,OOTB:

             <div id="main">
               <div id="right_side">
                <div class="form-group row">
                  <label>Choose a service</label>
                  <select  [(ngModel)]="service">    
                    <option *ngFor="let item of data?.budget" 
                       ngDefaultControl >{{item.service}}</option>
                  </select>
                  <label>Enter an amount</label>
                  <input id="real_amount" type="text" 
                  [(ngModel)]="real_amount" ngDefaultControl>
                  <input type="submit" value="Pay" 
                  (click)="updateBudget(service,real_amount)">
                   </div>
                  </div> 
                <div id="left_side">
                   <table>
                    <thead>
                     <th>Service</th>
                     <th>Expected Expencies</th>
                     <th>Real Expencies</th>
                    </thead>
                     <tbody>
                     <tr *ngFor="let item of data?.budget">          
                      <td>{{item.service}}</td>
                      <td>{{item.expected_amount}}</td>
                       <td>{{item.real_amount}}</td>
                     </tr>        
                   </tbody>
                 </table>
           </div>
           </div>

41 public class MultiValueFieldDefinition extends ConfiguredFieldDefinition { 42 43 private String buttonSelectAddLabel = "buttons.add"; 44 private String buttonSelectRemoveLabel = "buttons.delete"; 45 private ConfiguredFieldDefinition field; 46 也没有任何此类成员变量。最后,您可能使用的属性是因为某些成员变量存在于基础Java类中。

你可以扩展ConfiguredFieldDefinition并添加这些属性,然后在你的项目中使用它,但你说你对这样做不感兴趣。