AngularJs - 在 ng-click 中发送数据以验证电子邮件

AngularJs - Send data in ng-click to validate email

我正在尝试检查插入的电子邮件格式是否有效,以便我可以选择下一步要做什么。我试图通过在用户点击按钮提交电子邮件时运行的函数中发送 myForm.$valid 值来实现这一点。

这是我试图实现它的方法。

HTML

<input type="email" required="true" name="email-input" placeholder="Input Email">
<button type="button" ng-click="toggle(email-input.$valid)">Request</button>

app.js

app.controller('showHide',function($scope){
        $scope.toggle = function(valid) {
            alert(valid);
        };
    }); 

我得到的值valid总是“0”。知道我遗漏了什么吗?

提前致谢!

我认为你必须用表格包围你的输入。

<div ng-form name="myForm">
<input type="email" required="true" name="email-input" placeholder="Input Email">
<button type="button" ng-click="toggle(myForm.email-input.$valid)">Request</button>

这样,您也可以直接从您的控制器访问它:

app.controller('showHide',function($scope){
    $scope.toggle = function() {
        if(!$scope.myForm.email-input.$valid){
            alert(valid);
        }
    };
});