0

我将时间作为整数分钟存储在数据库/模型中。但是,我想以十进制小时数向用户显示它(并让他们使用多个按钮编辑值)。

目前我有这个:

<p class="input-group">
    <input type="text" readonly="readonly" value="{{vm.time.minutes|hoursMinutes}}" class="form-control" />
    <span class="input-group-btn">
        <ix-time-picker minutes="vm.time.minutes"></ix-time-picker>
    </span>
</p>

p标签中的 2 个元素中:

  1. 作为显示input type="text"机制工作正常。过滤器返回一个格式化的hoursMinutes值,例如 90 分钟,它将返回“1 小时 30 分钟”。
  2. ix-time-picker指令会弹出一个模式窗口,其中包含15 mins30 mins45 mins1 hour1:15 hours等按钮。

这工作正常 - 除了验证。我正在使用ng-messages,但不知道如何显示required状态验证:

<li class="help-block has-error"
    ng-if="mainForm.$submitted"
    ng-messages="mainForm.minutes.$error">
    <span ng-message="required">
        Minutes is required.
    </span>
</li>

minutes我在名为(至少带有)的表单上没有控件,ng-model因此它不会显示消息。我可以添加一个隐藏input的,ng-model="vm.times.minutes"但由于我需要通过应用程序重复使用它,我不想这样做。或者至少我想构建某种通用指令,如果可能的话,ng-model将控件上的能力与显示value与模型值不同的能力相结合。

有什么建议么?

4

1 回答 1

0

啊哈 - 一种选择是制作inputa label

<p class="input-group">
    <label id="minutes" name="minutes" readonly="readonly" class="form-control">{{vm.time.minutes|hoursMinutes}}</label>
    <span class="input-group-btn">
        <ix-time-picker minutes="vm.time.minutes"></ix-time-picker>
    </span>
</p>

然后它正确显示并验证。

于 2016-03-08T08:57:33.027 回答