AngularJS 表单验证

我的AngularJs版本是 v1.4.3,在做表单验证时,遇到了问题。
我希望达到的效果是:当表单内容为空时,登录按钮禁用。但现在是登录按钮没有被禁用。

-- HTML --

<button class="btn btn-block btn-success" disabled="disabled" name="sign" ng-click="vm.submit(sign_form)" ng-disabled="sign_form.$invalid" type="submit">登 录</button>

-- AngularJS --

var app=angular.module("ayApp",[]);
app.controller("ayAppCtrl",['$scope',function($scope){
    var vm=$scope.vm={};
    vm.d=storedb('ay').find();
    vm.submit=function(sign_form){
        sign_form.$setDirty();
        if(sign_form.$valid){
            alert("Success");
        }
    }
}]);
阅读 3.7k
3 个回答
<input type="text" ng-model="test" required/> <button type="submit" ng-disabled="form.$invalid">提交</button>

scope上绑定了一个vm对象,然后你又创建一个vm,是想干什么。
其次我觉得这个功能的实现不用自己写一个controller。

    <form name="categoryAddBox">
      <input type="text" ng-model="preAddCategoryName" required>
      <input type="submit" ng-click="addCategory($event)" value="确定" ng-disabled="!categoryAddBox.$valid">
    </form>
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进