当前位置: 首页 > 面试题库 >

禁用角度表单验证ng-disabled

扶隐水
2023-03-14
问题内容

我正在尝试在博客文章(尤其是ng禁用形式)的表单中使用角度表单验证。由于某些原因,我无法确定提交按钮没有被禁用,除非所有三个输入字段均有效,否则应该处于应有的状态。谢谢您的帮助。

这是我的博客模板

 <div ng-controller='BlgoCtrl'>
  <div class='container'>
    <h1> Teewinot Blgo</h1>
    <div class="row">
      <div class='col-md-12'>
        <form role='form' name='blgoPost' novalidate>
          <div class='form-group'>
          <label for='blgoTitle'>Title</label>
          <input name='title' type="title" class='form-control'  placeholder='Technologies of the Future' required><br>
          <label for='blgoContent'>Content</label>
          <textarea name='content' rows='8' type="content" class='form-control' placeholder='The technical innovations of the future will be diverse and impactful on the individual......' required></textarea><br>
          <label for='blgoPassCode'>PassCode</label>
          <input name='passcode' type="passcode" class='form-control' placeholder='&#8226;&#8226;&#8226;&#8226;&#8226;&#8226;&#8226;&#8226;&#8226;&#8226;&#8226;&#8226;&#8226;&#8226;&#8226;' required><br>
          <button type="submit" class='btn btn-primary' ng-disabled="blgoPost.$invalid">Submit Post</button>
          </div>
        </form>
      </div>
    </div>

这是我的index.html

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>Teewinot</title>

  <script src="bower_components/angular/angular.js"></script>

  <script src="bower_components/jquery/dist/jquery.js"></script>
  <script src="bower_components/bootstrap/dist/js/bootstrap.js"></script>
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <script src="bower_components/angular-route/angular-route.js"></script>
  <link href="bower_components/bootstrap/dist/css/bootstrap.css" rel="stylesheet">

</head>

<body ng-app="Teewinot">
<ng-include src="'app/templates/partials/navbar.html'"></ng-include>

<ng-view></ng-view> 
<!-- angular module defintion and reoutes -->
<script src="app/js/app.js"></script>
<script src="app/js/routes.js"></script>
<!-- controllers -->
<script src="app/js/controllers/blog.controller.js"></script>

</body>
</html>

这是我的博客控制器

angular.module('Teewinot').controller('BlgoCtrl', function($scope, $http) {
  'use strict'
});

问题答案:

您在ng-model表单的每个字段中都缺少您。请记住,当你提到ng-model在当时任何形式的字段ng- model创建表单名对象中的额外的对象与特定的name属性,然后考虑而表单验证一样$error$valid$invalid,等。

当您的形式nameblgoPost,当角编译该页面时,它在内部创建的名称的范围内的对象blgoPost。并且将具有nameng- model分配给它们的所有输入字段添加到该blgoPost对象内部。但是,如果您不提及ng- model表单字段,那么它将永远不会添加到blgoPost表单对象中。

的HTML

<form role='form' name='blgoPost' novalidate="">
    <input name="first" />
    <div class='form-group'>
        <label for='blgoTitle'>Title</label>
        <input name='title' type="title" class='form-control' ng-model="test1" placeholder='Technologies of the Future' required="">
        <br>
        <label for='blgoContent'>Content</label>
        <textarea name='content' rows='8' type="content" ng-model="test2" class='form-control' placeholder='The technical innovations of the future will be diverse and impactful on the individual......' required=""></textarea>
        <br>
        <label for='blgoPassCode'>PassCode</label>
        <input name='passcode' type="passcode" ng-model="test3" class='form-control' placeholder='&#8226;&#8226;&#8226' required="" />
        <br/>
        <button type="submit" class='btn btn-primary' ng-disabled="blgoPost.$invalid">Submit Post</button>
    </div>
</form>

工作jsfiddle



 类似资料:
  • 问题内容: 正在运行我的表单(例如,跟踪原始,脏污等)。我不需要此功能;我确定这会增加我的费用。 如何关闭它? 问题答案: AFAIK没有简单的开关可以关闭AngularJS验证。实际上,大多数验证都发生在和输入指令中- 基本上是input.js文件中的代码。因此,要摆脱内置验证,您将不得不从该文件中重新开发代码(以及一些其他代码,例如select)。 您是否将验证代码标识为应用程序中的性能瓶颈?

  • 问题内容: 我无法在现有答案中找到解决方案,因此我将其发布。 我有一个包含许多输入字段的表单,其中很多都是必需的。 表单中有按钮(超过2个),并使用ng-click绑定到控制器中的功能。 在执行功能之前,我需要先在ng-click上验证表单。 默认情况下,表单验证是在函数执行后进行的。如果未填写必填字段,则功能不应运行。 我制造了一个小提琴。https://jsfiddle.net/z1uyyqg

  • 我有一个有3个字段的表单:类型(单选按钮)、名称和地点。如果我选择值'Y'从单选按钮验证应出现的名称和地点。如果我选择值'N'从单选按钮验证不应该显示的地方。请帮我实现功能。工作stackblitz:https://stackblitz.com/edit/angular-ivy-jzjh4j?file=src/app/app.component.ts TS

  • 问题内容: 我有一个使用ng- repeat创建的表。我想向表中的每个元素添加验证。问题在于每个输入单元格与其上方和下方的单元格名称相同。我试图使用该值来命名输入,但是尽管HTML中的字符串文字看起来正确,但现在可以正常工作。 到目前为止,这是我的代码: 我试过从索引中删除from,但是那也不行。到目前为止,输入的验证属性可以正常工作,但是不会显示错误消息。 有人有什么建议吗? 编辑: 除了以下出

  • 本文向大家介绍Javascript的表单验证长度,包括了Javascript的表单验证长度的使用技巧和注意事项,需要的朋友参考一下 JavaScript 可用来在数据被送往服务器前对 HTML 表单中的这些输入数据进行验证。 该采用什么样的方式对用户作出提醒呢?你一定不想用alert()提示框 在输入域后加一个sqan标签 helpText是传入的span对象 用span标签来为用户作出提醒,不会

  • 所以我想尝试在登录页面上显示“无效用户名或密码”的错误信息,每当用户得到他们是错误的。 到目前为止,我只是将它记录在控制台中,在那里我看到错误:“auth/invalce-email”,其消息属性是:“电子邮件地址格式化得很糟糕。”当输入错误的电子邮件时(密码也是如此)。有什么方法可以在我的singin组件的html中的ngIf div元素中显示这些(或者更确切地说是自定义消息“无效的用户名或密码