如果未填写必填字段,Angularjs href将显示“请填写此字段”

时间:2018-07-27 01:32:43

标签: angularjs validation input href

我希望输入验证,以便如果用户单击href,如果未填写所需的输入文本,则他们应该看到“请填写此字段”。如果将href更改为button,它将起作用,但这不是我想要的。

这是我想要做的: jsFiddle

<div ng-app="myApp" ng-controller="myCtrl">
    <form name="myform">
        <input type="text" ng-model='name' ng-required="true" />
        <a href ng-click="myform.$valid && dostuff()">Preview</a>
    </form>
</div>

var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope) {
    $scope.name=undefined;
    $scope.dostuff = function(){
        //do stuff
    };
});

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

您可以使用类或状态来执行所需的操作

输入字段具有以下状态:

  • data, labels = generator_train._get_batches_of_transformed_samples([1, 2, 3]) 尚未触摸该字段
  • $untouched该字段已被触摸
  • $touched该字段尚未修改
  • $pristine字段已修改
  • $dirty The字段内容无效
  • $invalid字段内容有效

它们都是输入字段的属性,并且为true或false。

表单具有以下状态:

  • $valid尚未修改任何字段
  • $pristine一个或多个已被修改
  • $dirty表单内容无效
  • $invalid表单内容有效
  • $valid表单已提交

以下类已添加到输入字段或从输入字段中删除:

  • $submitted尚未触摸该字段
  • ng-untouched该字段已被触摸
  • ng-touched该字段尚未修改
  • ng-pristine字段已被修改
  • ng-dirty字段内容有效
  • ng-valid字段内容无效
  • ng-invalid每次验证使用一个密钥。例如:ng-valid-key,在必须验证的事物不只一件事时很有用
  • ng-valid-required示例:ng-invalid-key

以下类已添加到表单或从表单中删除:

  • ng-invalid-required尚未修改任何字段
  • ng-pristine一个或多个字段已被修改
  • ng-dirty表单内容有效
  • ng-valid表单内容无效
  • ng-invalid每次验证使用一个密钥。例如:ng-valid-key,在必须验证的事物不只一件事时很有用
  • ng-valid-required示例:ng-invalid-key

如果类表示的值为ng-invalid-required,则会将其删除。

也许这可以帮助您:

false

或者您可以使用CSS来显示消息。

希望这会有所帮助。祝你好运!