- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当与 ngRequired 一起使用时,我似乎无法在 Angular 文档示例中找到智能 float 指令。
您可以通过转到 Angular 文档页面来确认这一点 https://docs.angularjs.org/guide/forms
在智能 float 示例上编辑 plunker,并添加 ng-required="false"。确保检查整个表单的有效性,而不是单个控件。
如果控件上没有输入,表单本身总是被标记为无效。
我使用的是 1.3.0-rc3 版本
最佳答案
为了允许 smartFloat
指令为空值,您应该使用 $validators
结合 $parsers
来检查浮点值的有效性.另请注意,从任何解析器返回 undefined
(或不返回任何值)将标记整个表单无效。
允许空值
var FLOAT_REGEXP = /^\-?\d+((\.|\,)\d+)?$/;
app.directive('smartFloat', function() {
return {
require: 'ngModel',
link: function(scope, elm, attrs, ctrl) {
// Parse
ctrl.$parsers.unshift(function (viewValue) {
if (!viewValue) {
return ''; // <-- Don't return undefined, but empty string instead
} else if (FLOAT_REGEXP.test(viewValue)) {
return parseFloat(viewValue.replace(',', '.'));
}
});
// Validate
ctrl.$validators.float = function (viewValue) {
if (viewValue === '') {
ctrl.$setValidity('float', true); // <-- Handle empty value as valid
return true;
} else if (FLOAT_REGEXP.test(viewValue)) {
ctrl.$setValidity('float', true);
return true;
} else {
ctrl.$setValidity('float', false);
return false;
}
};
}
};
});
实例见here .
关于javascript - angular 中的 ngRequired 和自定义指令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26051675/
当我使用 type="date" 设置输入值时,AngularJS 将不知道元素是否具有值。下面是我的示例代码。 A disabled button Set Value
我有一个控件,该控件根据表单上另一个字段的值有条件地可见并且有条件地需要。 Discharge Year*
当与 ngRequired 一起使用时,我似乎无法在 Angular 文档示例中找到智能 float 指令。 您可以通过转到 Angular 文档页面来确认这一点 https://docs.angul
我有这个指令,它可以是必需的,也可以不是。它可以有两种使用方式(据我所知) 或 10"> 所以,因为 require and ngRequire are basically the same th
我是一名优秀的程序员,十分优秀!