【问题标题】:Angularjs iu.mask validation input with date带有日期的Angularjs iu.mask验证输入
【发布时间】:2015-02-18 11:08:37
【问题描述】:

我正在学习角度,现在我创建了应该显示日期的输入(类型:文本),它有像“99/99/9999”这样的 ui.mask,它在模块中验证不通过(取消阻止按钮)如果日期错误,我的意思是:00/00/0000 或 12/12/1700,但输入不显示红框,它显示为有效格式,如何根据模块验证显示红框?

HTML
<input
    id="dob"
    type="text"
    class="form-control   cell-height  form-input"
    ng-model="createAccount.dob"
    ui-mask="99/99/9999"
    placeholder="D.O.B. (mm/dd/yyyy)"
    required/>

CONTROLLER
 var validateDob = function () {
        try {
            var date = moment.utc($scope.createAccount.dob, "MM/DD/YYYY");
            if ($scope.patient == null) $scope.patient = {};
            if (!date.utc().isValid()) return false;
            if (date.utc().date() == 0 || date.utc().year() == 0) return false;
            if (date.utc().isAfter(moment().utc())) return false;
            if (date.utc().isSame(moment().utc())) return false;
            if (!date.utc().isAfter(moment.utc().subtract(150, 'years'))) {
                return false;
            }
            $scope.createAccount.dateOfBirth = date.utc();//.format("YYYY/MM/DD");
            return true;

        }
        catch (err) {
            return false;
        }
    };

【问题讨论】:

    标签: javascript angularjs validation date


    【解决方案1】:

    感谢angular documentation 为了进行自定义验证,您需要创建指令,而不是控制器。

    当验证器返回错误响应时,Angular 会给你的 DOM 对象放置一个 ng-invalid 类。它将允许您更改无效输入的边框颜色或样式

    【讨论】:

      【解决方案2】:

      有更简单的方法,ng-class - 检查 validateDob 是否返回 false,如果是,则显示验证框架。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-18
        • 1970-01-01
        • 1970-01-01
        • 2023-03-10
        • 2015-10-22
        相关资源
        最近更新 更多