Javascript 表单验证在angularJs中不起作用?

Javascript 表单验证在angularJs中不起作用?,javascript,angularjs,Javascript,Angularjs,我无法在AngularJS表单验证中找到错误 JavaScript: sidemenu.controller('galleryCtrl', ['$scope', '$rootScope', 'PropertyDetails', '$window', '$location', '$routeParams', 'allServices', 'customVariables', '$mdDialog', function (a, b, p, $window, l, r, e, cust, md) {

我无法在AngularJS表单验证中找到错误

JavaScript:

sidemenu.controller('galleryCtrl', ['$scope', '$rootScope', 'PropertyDetails', '$window', '$location', '$routeParams', 'allServices', 'customVariables', '$mdDialog', function (a, b, p, $window, l, r, e, cust, md) {
  var vm = this;
  a.imageSlide = true;
  vm.user = {
    first_name: "",
    email_id: "",
    selected_id: "",
    phone: ""
  };
}]);
HTML:


名字{{登记表。名字。$pristine}

必须输入您的姓名

提出询问

我试图在上面的html代码中打印这行代码是
{{register\u form.first\u name.$pristine}
不打印任何内容。因此,我无法找到其中的错误。

有一个更简单的解决方案来查找表单错误。您只需在html代码中添加以下内容:

<p>{{ register_form.$error }}<p>
{{register\u form.$error}}
第二,您不应使用
$invalid
输入名字,但应使用
注册表单.user\u first\u name.$error.required

您还可以在

希望有帮助


Br

您的数据绑定有几个问题

  • 您应该在
    输入中编辑
    ng模型
    ,以匹配中的模型 您的
    控制器
    。您的数据库中有
    ng model=“user.first\u name”
    HTML
    在控制器中有一个名为
    vm.user
    的对象

    所以你应该改变:

    ng-model="user.first_name"
    
    致:

  • 第二个问题是,您在
    输入中使用了
    name=“first\u name”
    ,而您稍后在消息的
    ng show
    中使用
    register\u form.user\u first\u name
    引用它

    您应该将其更改为:

    ng-show="register_form.first_name.$invalid && !register_form.first_name.$pristine"
    
  • 要在
    HTML
    中打印用户名,您应该参考模型对象,而不是表单
    input
    ,因此您需要从以下位置更改标签:

    <label>firstName{{register_form.first_name.$pristine}}</label>
    
    firstName{{register\u form.firstName.$pristine}
    
    对下列事项:

    <label>firstName {{vm.user.first_name}}</label>
    
    firstName{{vm.user.first_name}
    
    随数据变化而改变ng型号值

    <p ng-show="register_form.first_name.$invalid && !register_form.first_name.$pristine" class="help-block">You name is required.</p>
    

    必须输入您的姓名


    您还应将此信息放入
    data ng disabled=“register\u form.$invalid”

    我的答案是否符合您的需要?
    <label>firstName {{vm.user.first_name}}</label>
    
    <p ng-show="register_form.first_name.$invalid && !register_form.first_name.$pristine" class="help-block">You name is required.</p>