我正在使用breeze 1.4.5和angular 1.2.1 我使用输入类型“text”将breeze实体直接绑定到 decimal 类型的属性
<input class="form-control" type="text" ng-model="vm.transaction.ListPrice" />
执行此操作时,它只接受此字段中的数字0-9(逗号,小数点和其他字符将被忽略)
另一个绑定到实体的 text 属性的输入正常工作,所以它必须是幕后的东西,我不明白
(我不使用类型“数字”,因为我不喜欢输入字段中向上/向下选择的按钮。)
答案 0 :(得分:2)
如果问题仍然存在,请尝试使用breeze.directives。 zFloat指令解决了这个问题。
答案 1 :(得分:1)
好了,现在有一段时间,微风的家伙想出了一个解决方案(角度的zfloat指令):
答案 2 :(得分:0)
使用数字输入类型并使用此css规则隐藏箭头
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
/* display: none; <- Crashes Chrome on hover */
-webkit-appearance: none;
margin: 0; /* <-- Apparently some margin are still there even though it's hidden */
}
有关替代方法,请参阅this answer 我认为使用数字输入类型比使用文本更容易和语法更好。
答案 3 :(得分:0)
我使用了notme上面的推荐,但是需要添加一点来保持验证不成问题。
输入的数字类型允许小数点,所以这很好。
来自notme的CSS关闭了微调器,这也有所帮助。
但是,当字段中包含小数时,bootstrap仍会使该字段突出显示为红色。当有小数点时,这一点CSS将使该字段看起来是蓝色的:
input:focus:invalid { color:#333; border-color: rgba(82, 168, 236, 0.8); }
input:focus:invalid:focus,
textarea:focus:invalid:focus,
select:focus:invalid:focus {
border-color: rgba(82, 168, 236, 0.8);
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);
-moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);
}
使用十进制
解决bootstrap验证问题的替代方法使用step =“any”,如:
<input type="number" step="any" />