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

当输入验证失败时,AngularJS阻止表单提交

蒋高扬
2023-03-14
问题内容

我正在使用带有一些客户端输入验证的angularjs编写一个简单的登录表单,以检查用户名和密码是否为空且长度不超过三个字符。请参见以下代码:

<form name="loginform" novalidate ng-submit="login.submit()" class="css-form">
    <fieldset>

        <div class="control-group input-prepend">
            <span class="add-on"><i class="icon-user"></i></span>
            <input type="text" ng-model="login.username" name="username" required ng-minlength="3" placeholder="username" />
        </div>

        <div class="control-group input-prepend">
            <span class="add-on"><i class="icon-lock"></i></span>
            <input type="password" ng-model="login.password" name="password" required ng-minlength="3" placeholder="" />
        </div>

        <div class="control-group">
            <input class="btn" type="submit" value="Log in">
        </div>

    </fieldset>
</form>

和控制器:

var controller = function($scope) {

    $scope.login = {
        submit: function() {

            Console.info($scope.login.username + ' ' + $scope.login.password);
        }
    }

};

问题是login.submit即使输入无效,该函数也会被调用。有可能防止这种行为吗?

附带一提,我可以提到我也使用了bootstrap和requirejs。


问题答案:

你可以做:

<form name="loginform" novalidate ng-submit="loginform.$valid && login.submit()">

无需控制器检查。



 类似资料:
  • 问题内容: 我在AngularJS应用程序中创建了一个指令,该指令在我的应用程序中生成样式输入。看起来像这样: 它的模板是: 调用很简单: 我想为此字段创建验证,并添加了错误信息: 而showError是: 基本上,它是从《用AngularJS掌握Web应用程序开发》一书中复制的。我有一个问题,因为当我在控制台中登录表单时,我的名字是,而不是name属性,这里的值应该是“ name”。我究竟做错了

  • 本文向大家介绍jquery实现表单验证并阻止非法提交,包括了jquery实现表单验证并阻止非法提交的使用技巧和注意事项,需要的朋友参考一下 代码检测textarea内填写的长度,未填写时提示需要重新填写,少于15字符时提示需要长于15字符,成功时显示所填写建议。 >关键点 1.必须要有onSubmit="return confirm();" return 这个词,不可缺少。 2.自行完整的网页结构

  • 主要内容:输入验证,应用代码,实例解析AngularJS 表单和控件可以验证输入的数据。 输入验证 在前面的几个章节中,你已经学到关于 AngularJS 表单和控件的知识。 AngularJS 表单和控件可以提供验证功能,并对用户输入的非法数据进行警告。 客户端的验证不能确保用户输入数据的安全,所以服务端的数据验证也是必须的。 应用代码 < !DOCTYPE html > < html > < script src= "http:/

  • 问题内容: 我的联系页面形式如下, 需要为所有字段添加验证。谁能帮我在此反应形式中添加验证? 问题答案: 您应该避免使用refs,可以使用function来实现。 每次更改时,请更新已更改字段的状态。 然后,您可以轻松地检查该字段是否为空或您想要的其他内容。 您可以执行以下操作: 在此示例中,我仅对电子邮件和姓名进行了验证,但是您知道如何进行验证。其余的你可以自己做。 也许有更好的方法,但是您会明

  • 开发Web的一个原则就是,不能信任用户输入的任何信息,所以验证和过滤用户的输入信息就变得非常重要,我们经常会在微博、新闻中听到某某网站被入侵了,存在什么漏洞,这些大多是因为网站对于用户输入的信息没有做严格的验证引起的,所以为了编写出安全可靠的Web程序,验证表单输入的意义重大。 我们平常编写Web应用主要有两方面的数据验证,一个是在页面端的js验证(目前在这方面有很多的插件库,比如Validati

  • 问题内容: 我有使用验证的表单字段。问题在于,呈现表单时会立即显示错误。我只希望在用户实际在文本字段中键入或提交后才显示它。 我该如何实施? 问题答案: 仅在用户与输入交互后,使用标志显示错误: 如果仅在用户提交表单后才想触发错误,则可以使用单独的标志变量,如下所示: 然后,如果表达式内的所有JS 看上去对您来说太多了,您可以将其抽象为一个单独的方法: