【问题标题】:How to validate a form using controllers in angularjs如何使用angularjs中的控制器验证表单
【发布时间】:2017-03-02 08:03:06
【问题描述】:

我想知道如何使用控制器在 angularjs 中验证表单?

en$scope.saveDetail = function () {

    if ($scope.register.Name == "") {
        alert("Pls fill register Name");
        return false;
    }
    if ($scope.register.Address == "") {
        alert("Pls fill Address");
        return false;
    }
    if ($scope.register.Email == "") {
        alert("Pls fill Email");
        return false;
    }
    if ($scope.register.Password == "") {
        alert("Pls fill Password");
        return false;
    }
    if ($scope.register.Number == "") {
        alert("Pls fill 10 digit Number");
        return false;
    }

    $localStorage.myRegisterDetail = $scope.register;
    alert("Your records save successfully");
    $state.go("app.login");

};

现在我想添加代码来设置密码的最小和最大长度。我该怎么做?

【问题讨论】:

  • 这个问题实在是太笼统了...在 Google 上进行简单搜索就会显示:docs.angularjs.org/guide/forms...下次尝试更具体。
  • @ssougnez 是对的。这是最常见的角度用例之一。在 Google 上或在此处搜索“角度表单验证”。顺便说一句,金刚狼不烂!

标签: jquery angularjs


【解决方案1】:

如果您想使用基本功能使用自定义验证,我建议您在角度函数中使用 JQuery/Javascript。

注意:- 这是 angular1 的示例。我还没有阅读太多关于 angular2 的内容,因此答案可能会有所不同。

示例解决方案:-

en$scope.saveDetail = function () {
    var validationError = false;
    if ($scope.register.Name == "") {
        alert("Pls fill register Name");
        validationError = true;
    }

    if(!validationError) {
        if ($scope.register.Address == "") {
            alert("Pls fill Address");
            validationError = true;
        }
    }
    if(!validationError) {
        if ($scope.register.Email == "") {
            alert("Pls fill Email");
            validationError = true;
        }
    }

    if(!validationError) {
        if ($scope.register.Password == "") {
            alert("Pls fill Password");
            validationError = true;
        }
    }  

    if(!validationError) {
        if ($scope.register.Number == "") {
            alert("Pls fill 10 digit Number");
            validationError = true;
        }
    }    

    if(!validationError) {
        $localStorage.myRegisterDetail = $scope.register;
        alert("Your records save successfully");
        $state.go("app.login");
    }
};

【讨论】:

  • @WolverineSucks 不确定是否有帮助,但这里有一个类似的问题 [stackoverflow.com/questions/30049938/…
  • 嗨。抱歉,我的代码有一个小错误。另外请务必提交您的代码,以便我们尝试找出其中的错误。
  • 对不起。我没有注意到同样的事情。对于答案,Angular 不会像处理 vanilla javascript 和 jqeury 那样在函数中使用 return 语句。它将继续执行所有代码。我将修改我的代码并为您提供帮助。
  • 非常感谢您提供的代码。但是为密码的最大和最小长度添加验证呢?
猜你喜欢
  • 2015-09-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多