我正在使用input type="number",但我在文本框中得到了上下值条的视图。如何避免这种情况?
如何验证输入文本框中的负值?如果我输入一个负值,则应显示适当的错误消息。
我正在使用input type="number",但我在文本框中得到了上下值条的视图。如何避免这种情况?
如何验证输入文本框中的负值?如果我输入一个负值,则应显示适当的错误消息。
input[type='number'] {
-moz-appearance:textfield;
}
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
-webkit-appearance: none;
}
(感谢这个答案)但它在IE中不起作用。
现在的真正问题是,如何验证用户输入?在这种情况下,Angular解决方案是创建额外的验证指令。这是我最近编写的一个简单的指令:
angular.module('demo', []).directive('positive', [function() {
return {
require: 'ngModel',
link: function(scope, elem, attrs, ctrl) {
if (!ctrl) return;
ctrl.$validators.positive = function(value) {
return value && value >= 0;
};
}
};
}]);
input[type='number'] {
-moz-appearance:textfield;
}
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
-webkit-appearance: none;
}
.error {color: brown;}
<script src="https://code.angularjs.org/1.3.0/angular.js"></script>
<div ng-app="demo">
<form name="paymentForm">
<input type="number" name="amount" ng-model="amount" positive />
</form>
<div class="error" ng-show="paymentForm.amount.$error.positive">Amount should be positive number.</div>
</div>