【问题标题】:AngularJS Filter, set class of of label and input field with validationAngularJS过滤器,设置标签类和带有验证的输入字段
【发布时间】:2015-08-23 12:42:22
【问题描述】:

我有一个带有 F1 驱动程序列表的 Angular 应用程序。我想在表格上放置一个过滤器,这样我就可以通过他们的名字或姓氏来获取司机。 为此,我使用以下设计:

通常输入的标签和行是黑色的。我想检查输入值是否只是一个字符串值(a-zA-Z)。我在部分视图中使用以下代码:

<div class="form-group col-xs-5 col-md-3">
    <label class="control-label" for="inputError">input must be [a-zA-Z]</label>
    <div class="form-control-wrapper">
        <input ng-model="nameFilter" type="text" name="nameFilter" class="form-control empty" placeholder="Search Driver name...">
        <span class="material-input"></span>
    </div>
</div>

此输入值与以下过滤器绑定(在我的 controller.js 中声明)

$scope.searchFilter = function (driver) {
    var re = new RegExp($scope.nameFilter, 'i');
        if(! (/[^a-zA-Z]+/).test($scope.nameFilter)){
            $scope.nameFilter.class ='control-label';
        }
    return !$scope.nameFilter || re.test(driver.Driver.givenName) || re.test(driver.Driver.familyName);
};

但这不起作用..我错过了什么?

【问题讨论】:

    标签: javascript angularjs validation filter input-field


    【解决方案1】:

    正则表达式

    您的正则表达式错误,请检查其有效性here

    改成

    /[^a-zA-Z]+/
    

    /^[A-Za-z]+$/
    

    【讨论】:

    • 如何使标签变为红色?
    • 给标签一个类或一个id,然后使用css设置它的颜色
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-06-27
    • 1970-01-01
    • 2013-01-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多