我将时间作为整数分钟存储在数据库/模型中。但是,我想以十进制小时数向用户显示它(并让他们使用多个按钮编辑值)。
目前我有这个:
<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 个元素中:
- 作为显示
input type="text"
机制工作正常。过滤器返回一个格式化的hoursMinutes
值,例如 90 分钟,它将返回“1 小时 30 分钟”。 - 该
ix-time-picker
指令会弹出一个模式窗口,其中包含15 mins
、30 mins
、45 mins
、1 hour
、1: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
与模型值不同的能力相结合。
有什么建议么?